0
如何從導入的節點檢索ID? 它可能與原始的XML內容,但如果我導入一些數據,我不能通過ID訪問它。GetElementById來自導入節點
$test = '
<!DOCTYPE html>
<html>
<head/>
<body>
<div id="test"></div>
</body>
</html>';
$test2 = '<div id="test2">test</div>';
$dom = new DOMDocument();
$dom2 = new DOMDocument();
$dom->loadHTML($test);
$dom2->loadXML($test2);
$element2 = $dom2->documentElement;
$import = $dom->importNode($element2, true);
$element = $dom->getElementsByTagName('html')->item(0);
$element->appendChild($import);
var_dump($dom->getElementById('test'));
var_dump($dom->getElementById('test2'));
這是有可能找到測試,但沒有找到這來了由導入的元素TEST2。
這是xml輸出。導入工作。
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE html>
<html>
<head></head>
<body>
<div id="test"></div>
</body>
<div id="test2">test</div>
</html>
我不確定importNode如何行爲,因爲沒有明確的信息表明您實際上想要插入element2節點。嘗試在$ test2的div周圍添加body標籤,這樣importNode會(可能)理解你想要在那裏導入它。 – Sebas 2014-10-28 19:32:43
我編輯了我的帖子。導入工作正常,但如果我嘗試通過test2獲取一些數據,它將返回null。 – Jayni 2014-10-28 19:38:11
嘗試我所建議的。 – Sebas 2014-10-28 19:45:15