Copiando nós entre documentos.
<?php
$orgdoc = new DOMDocument;
$orgdoc->loadXML("<root><element><child>text in child</child></element></root>");
// O nó que queremos importar para um novo documento
$node = $orgdoc->getElementsByTagName("element")->item(0);
// Crie um novo documento
$newdoc = new DOMDocument;
$newdoc->formatOutput = true;
// Adicione alguma marcação
$newdoc->loadXML("<root><someelement>text in some element</someelement></root>");
echo "The 'new document' before copying nodes into it:\n";
echo $newdoc->saveXML();
// Importe o nó, e todos os seus filhos, para o documento
$node = $newdoc->importNode($node, true);
// E então acrescente-o ao nó "<root>"
$newdoc->documentElement->appendChild($node);
echo "\nThe 'new document' after copying the nodes into it:\n";
echo $newdoc->saveXML();
?>
O exemplo acima produzirá:
The 'new document' before copying nodes into it:
<?xml version="1.0"?>
<root>
<someelement>text in some element</someelement>
</root>
The 'new document' after copying the nodes into it:
<?xml version="1.0"?>
<root>
<someelement>text in some element</someelement>
<element>
<child>text in child</child>
</element>
</root>