有一些我不完全理解與PHP的DOM api的節點克隆。這裏有一個快速重複我遇到的問題的示例文件。DOMElement克隆和追加:'錯誤的文檔錯誤'
$doc = new DOMDocument('1.0', 'UTF-8');
$root = $doc->createElement('root'); // This doesn't work either $root = new DOMElement('root');
$doc->appendChild($root);
$doc2 = new DOMDocument('1.0', 'UTF-8');
$root2 = $doc2->createElement('root2');
$doc2->appendChild($root2);
// Here comes the error
$root2->appendChild($root->cloneNode());
當你運行這個小片段拋出一個異常
Fatal error: Uncaught exception 'DOMException' with message 'Wrong Document Error'
我不能抓住從一個文檔中的節點,克隆它,然後將其追加到另一個文件?
完美,謝謝。我正在通過'DOMNode'和'DOMElement' API尋找能夠讓我這麼做(愚蠢地)從未檢查過'DOMDocument'方法的東西=/ – 2009-11-18 21:31:00
你在哪裏添加了importNode?我將它添加到我的代碼中,但仍然出現錯誤。 – NobleUplift 2014-01-08 17:54:05
@NobleUplift您需要調用'importNode'將一個節點從一個文檔導入到另一個文檔。之後,你可以把它作爲你想要的孩子追加。 – Gumbo 2014-01-08 18:42:05