有一些我不完全理解与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