src/SimpleDOM.php
public function cloneChildrenFrom(SimpleXMLElement $src, $deep = true)
    {
        $src = dom_import_simplexml($src);
        $dst = dom_import_simplexml($this);
        $doc = $dst->ownerDocument;

        $fragment = $doc->createDocumentFragment();
        foreach ($src->childNodes as $child) {
            $fragment->appendChild($doc->importNode($child->cloneNode($deep), $deep));
        }
        $dst->appendChild($fragment);

        return $this;
    }
public function cloneChildrenFrom(SimpleXMLElement $src, $deep = true)
    {
        $src = dom_import_simplexml($src);
        $dst = dom_import_simplexml($this);
        $doc = $dst->ownerDocument;

        $fragment = $doc->createDocumentFragment();
        foreach ($src->childNodes as $child) {
            $fragment->appendChild($doc->importNode($child->cloneNode($deep), $deep));
        }
        $dst->appendChild($fragment);

        return $this;
    }
Clone all children from a node and add them to current node

This method takes a snapshot of the children nodes then append them in order to avoid infinite
recursion if the destination node is a descendant of or the source node itself

@param    SimpleXMLElement $src Source node
@param    bool $deep If TRUE, clone descendant nodes as well
@return    SimpleDOM                    Current node