DomDocument getElementById不起作用?

时间:2013-09-30 20:10:53

标签: php domdocument

INPUT

<root id="root">
<p id="p1"><i>Title</i></p>
<p id="p2"><b id="b1">AAA<sup>1</sup>, BBB<sup>2</sup></b></p>
</root>

PHP代码,

$dom2 = new DomDocument();
$dom2->loadXML( $input );
$e = $dom2->getElementById('p1');
    var_dump($e);

当我跑步时,var_dump显示NULL ...但 p1 位于<p id="p1">

1 个答案:

答案 0 :(得分:3)

您正在加载一个XML文件,该文件可能没有定义id属性的DTD。

您也许可以使用Xpath来查找这些元素。

$xpath = new DOMXPath($dom2);
$element = $xpath->query("//*[@id='p1']")->item(0);