Как я понял, автор хочет узнать, как сделать по стандарту, не используя хак с DocumentFragment::appendXML.
Например, так:
$targetDoc = new DOMDocument();
$targetDoc->loadXML("<root/>");
$fragment = $targetDoc->childNodes[0]; // нода, в которую нужно загрузить XML
$doc = new DOMDocument(); // фиктивный документ, в который загружаем данные
$doc->loadXML("<root><foo>text</foo><bar>text2</bar></root>"); // оборачиваем их в фиктивного рута
// переносим
foreach ($doc->childNodes[0]->childNodes as $node) {
$clone = $targetDoc->importNode($node, true);
$fragment->appendChild($clone);
}
var_dump($doc->saveXML() == $targetDoc->saveXML());