【发布时间】:2015-11-12 20:38:38
【问题描述】:
我希望将 xml 树附加到另一个。
例如,我想要以下xml:
<a>
<b>
<c/>
</b>
</a>
要在其中包含以下 xml:
<n:d xmlns:xsl="namespace">
<n:e>
<n:f/>
</n:e>
</n:d>
让它看起来像这样:
<a>
<b>
<c/>
<n:d xmlns:n="namespace">
<n:e>
<n:f/>
</n:e>
</n:d>
</b>
</a>
我尝试但未能执行此操作的代码如下:
$doc1 = new DOMDocument();
$doc2 = new DOMDocument();
$doc1->loadXML($xml1);
$doc2->loadXML($xml2);
$node_To_Insert = $doc2->getElementsByTagName('d')->item(0);
$node_To_Be_Inserted_To = $doc1->getElementsByTagName('b')->item(0);
$node_To_Be_Inserted_To->appendChild($doc1->importNode($node_To_Insert));
echo '<pre>'.htmlspecialchars(print_r($doc1->saveXML(),true)).'</pre>';
我从 echo 得到的当前结果:
<a>
<b>
<c/>
<n:d xmlns:n="namespace" />
</b>
</a>
我没有一些并非不可能阅读的想法,或者不是看似愚蠢的迂回曲折。
任何帮助将不胜感激。提前谢谢你。
【问题讨论】:
标签: php xml domdocument