2011-05-11 69 views
0

如何返回頁面上的多個節點?這裏是我正在使用的代碼,但它只返回找到的第一個節點。用xpath返回多個節點

$dom = new DOMDocument; 
$dom->loadHTMLFile($URL); 

$xpath = new DOMXpath($dom); 
$users= $xpath->query('//b[@class="xc_user"]'); 

echo $users->item(0)->nodeValue; 
+1

使用'foreach'迭代返回['DOMNodeList'](http://de.php.net/manual/ en/class.domnodelist.php)或[任何其他循環控制結構。](http://de.php.net/manual/en/language.control-structures.php) – Gordon 2011-05-11 21:45:46

+0

@Gordon我試過這個'foreach($ users-> item-> nodeValue as $ result){echo $ result; 「沒有運氣,這是在正確的方向嗎? – sarsar 2011-05-11 21:53:58

+0

只是'foreach($ user as $ node)'。這將爲'$ node'返回一個'DOMElement'。看到我的答案http://stackoverflow.com/questions/5249492/xpath-not-behaving-for-me-in-parsing-basic-html/5249675#5249675 – Gordon 2011-05-11 21:55:00

回答

1

$users是的DOMNodeList,您可以遍歷:

foreach($users as $node) { 
    echo $node->nodeValue; 
}