将元素从一个DOMDocument添加到另一个PHP

将元素从一个DOMDocument添加到另一个PHP,php,domdocument,Php,Domdocument,我有3份文件 $legacyDomDocument1 = new DOMDocument(); $legacyDomDocument2 = new DOMDocument(); $legacyDomDocument3 = new DOMDocument(); 我想获得这三个文档的相同元素并删除一些child $standortName = $legacyDomDocument->getElementById('produkt_title'); $standortName->pare

我有3份文件

$legacyDomDocument1 = new DOMDocument();
$legacyDomDocument2 = new DOMDocument();
$legacyDomDocument3 = new DOMDocument();
我想获得这三个文档的相同元素并删除一些child

$standortName = $legacyDomDocument->getElementById('produkt_title');
$standortName->parentNode->removeChild($standortName);
$standortName = $legacyDomDocument2->getElementById('produkt_title');
$standortName->parentNode->removeChild($standortName);
$standortName = $legacyDomDocument3->getElementById('produkt_title');
$standortName->parentNode->removeChild($standortName);
我还从第一个DOM中获取一个导航条

 $rs = $legacyDomDocument->getElementById('submenue');
我可以很容易地添加子菜单

$r->appendChild($rs);
但是,添加其他两个文档中的元素仍然有问题

$import = $legacyDomDocument->importNode($legacyDomDocument2, true);
$legacyDomDocument->appendChild($import);
$import = $legacyDomDocument->importNode($legacyDomDocument3, true);
$legacyDomDocument->appendChild($import);
我做错了什么? 使用saveHTML后,浏览器会显示:

Warning: DOMDocument::importNode() [domdocument.importnode]: Cannot import: Node Type Not Supported in /is/htdocs/wp1175221_C648A6HQST/www/v9/legacyParser/index.php on line 82

第82行是我上面的导入部分。我做错了什么

不能直接导入
DOMDocument
:您应该在层次结构中更深入一点,改用property(这会给您一个
domeElement
):

顺便说一句,似乎在附加时也可以使用
documentElement

$legacyDomDocument->documentElement->appendChild($import);

下面是对这个概念的说明。当您删除中介
documentElement
时,请注意其中的区别:第二个文档的内容基本上是在根节点附近插入的,这并不是理想的结果。

忘记一些代码:$r->appendChild($pc1)$r->儿童(pc2);您正在尝试导入一个DOMDocument实例,但这不起作用。你到底想导入什么?哦,忘了添加了。这三个dom都有相同的div(“content_produkte”),其中包含我想添加到第一个dom中的一些信息。这个技巧对我帮助很大。谢谢
$legacyDomDocument->documentElement->appendChild($import);