的價值我想使用XPath查詢檢索「測試」只有一次,在下面的test.htmlXPath查詢:只檢索孫子
<html>
<body>
<div class="test1"></div>
<div class="test2">
<div><strong>Testing</strong></div>
</div>
</body>
</html>
這裏是PHP代碼我用來檢索內容。
$uri='test.html';
$doc = new DOMDocument('1.0','utf-8');
$doc->loadHTMLFile($uri);
$xpath= new DOMXPath($doc);
$path="/html/body/div[2]//*";
$elements = $xpath->query($path);
if(!is_null($elements)){
foreach($elements as $element){
echo '<br>['.$element->nodeName.']';
$nodes = $element->childNodes;
foreach($nodes as $node){
$nodeValue=$node->nodeValue;
echo $nodeValue;
}
}
}
這是我得到的結果。
[div] Testing
[strong] Testing
爲什麼即使在[div]節點中也會打印「測試」?我希望它只在[強]節點中檢索「測試」。
因爲孫子是'/./。','// *'在任何深度==任何孩子。 – Wrikken