2012-10-09 35 views
1

我想查找/創建查詢運行後找到的所有元素的xpath。xpath查找節點是否存在使用PHP

我試過了,但我被卡住了。

此代碼搜索包含字母'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"; 
    } 

    } 

} 

?> 

回答

3

DOMNode::getNodePath正是這麼做的,所以儘量echo $node->getNodePath()

+0

它還活着!有用。 10倍 –