我正在尝试遍历包含div
的每个子元素:
$html = ' <div id="roothtml">
<h1>
Introduction</h1>
<p>text</p>
<h2>
text</h2>
<p>
test</p>
</div>';
我有这个PHP:
$dom = new DOMDocument();
$dom->loadHTML($html);
$dom->preserveWhitespace = false;
$xpath = new DOMXPath($dom);
$els = $xpath->query("/div");
print_r($els);
我得到的只是DOMNodeList Object ( )
看了the IBM tutorial我应该得到一个数组。我做错了什么?
感谢任何帮助。
答案 0 :(得分:5)
您使用的是错误的查询字符串,您应该使用//div
。
迭代列表like this:
$els = $xpath->query("//div");
foreach( $els as $el) {
echo $el->textContent;
}