1

我想查找/创建查询运行后找到的所有元素的 xpath。

我试过了,但我卡住了。

此代码在所有元素/节点中搜索包含字母“t”的任何值。如果找到 't',我想知道该元素的 xpath:

<?php

$dom = new DOMDocument();

@$dom->loadHTMLFile('http://www.linkbook.co/');

//use DOMXpath to navigate the html with the DOM
$dom_xpath = new DOMXpath($dom);

$elements = $dom_xpath->query("//*[text()[contains(., 't')]]");
var_dump($elements);
if (!is_null($elements)) {

  foreach ($elements as $element) {
  var_dump($element);
    echo "\n[". $element->nodeName. "]";

    $nodes = $element->childNodes;
    foreach ($nodes as $node) {
      echo $node->nodeValue. "\n";
    }

  }

}

?>
4

1 回答 1

3

DOMNode::getNodePath正是这样做的,所以试试echo $node->getNodePath()

于 2012-10-09T09:59:19.207 回答