我想查找/创建查询运行后找到的所有元素的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";
}
}
}
?>
最佳答案
DOMNode::getNodePath
正是这样做的,因此请尝试echo $node->getNodePath()
。
关于php - xpath使用PHP查找节点是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12797379/