使用DOMDocument和DOMXPath迭代元素

bei*_*lex 2 php xpath dom

我试图遍历包含的每个子元素div:

$html = '    <div id="roothtml">
<h1>
Introduction</h1>
<p>text</p>
<h2>
text</h2>
<p>
test</p>
</div>';
Run Code Online (Sandbox Code Playgroud)

我有这个PHP:

$dom = new DOMDocument();
$dom->loadHTML($html);

$dom->preserveWhitespace = false;

$xpath = new DOMXPath($dom);
$els = $xpath->query("/div");
print_r($els);   
Run Code Online (Sandbox Code Playgroud)

我得到的只是 DOMNodeList Object ( )

看了IBM教程后我应该得到一个数组.我做错了什么?

任何帮助表示赞赏.

nic*_*ckb 5

您正在使用错误的查询字符串//div.

像这样迭代列表:

$els = $xpath->query("//div");
foreach( $els as $el) {
    echo $el->textContent;
}
Run Code Online (Sandbox Code Playgroud)