我试图在DOM中使用DOMDocument遍历DOM树。对getElementById/getElementsByTagName的初始调用是成功的,但我不确定如何继续生成NodeList。PHP DOMDocument在NodeList上调用getElementsByTagName
下面是一个示例HTML文件,我试图遍历。
<!DOCTYPE html>
<html>
<div id="container">
<p> Hello </p>
</div>
</html>
在Javascript中我能链DOM遍历方法,像这样:
document.getElementById('container').getElementsByTagName('p')[0].innerText
// returns "Hello"
但是在PHP中尝试类似...
<?php
$document = new DOMDocument();
$document->load('test.html');
echo $document->getElementById('content')->getElementsByTagName('p')->item(0)->nodeValue . PHP_EOL;
?>
...只返回此错误:
Fatal error: Call to a member function getElementsByTagName() on a non-object in /Users/liam/foobar on line 6
我在做些什么事情不对,或者这只是不支持?
辉煌!改成loadHTMLFile(并纠正我的那个愚蠢的错字)奇妙地工作。 – 2011-05-18 14:52:29