2

入力

<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">ます。

4

1 に答える 1

3

idおそらく属性を定義する DTD を持たない XML ファイルを読み込んでいます。

おそらく、Xpath を使用してそれらの要素を見つけることができます。

$xpath = new DOMXPath($dom2);
$element = $xpath->query("//*[@id='p1']")->item(0);
于 2013-09-30T20:14:44.430 に答える