Wie kann ich auf einfache Weise zwei XML-Dokumente mit demselben übergeordneten Knoten in einem Dokument kombinieren?

Ich habe beschlossen, dass dies mit SimpleXMLElements nicht möglich ist. Ich habe das PHP DOMDocument-Handbuch gelesen und denke, ich könnte es mit Iteration machen, aber das scheint ineffizient. Gibt es einen besseren Weg, der mir nicht einfällt?

Pseudocode-ish iterative Lösung:

<code>// two DOMDocuments with same root element
$parent = new ...
$otherParent = new ...

$children = $parent->getElementByTagName('child');
foreach ($children as $child) {
   $otherParent->appendChild($child);
}
</code>

Der Klarheit halber habe ich zwei XML-Dokumente, die beide so aussehen:

<code>    <parent>
      <child>
        <childOfChild>
           {etc, more levels of nested XML trees possible}
        </childOfChild>
      </child>
      <child>
        <childOfChild>
           {etc, more levels possible}
        </childOfChild>
      </child>

</parent>
</code>

Und ich möchte folgendes ausgeben:

<code><parent>
  {all children of both original XML docs, order unimportant, that preserves any nested XML trees the children may have}
<parent>
</code>

Antworten auf die Frage(1)

Ihre Antwort auf die Frage