No, no fue contestada. El addChild lo que haces es añadir al final de todo código. Una forma de lograrlo es creando todo desde el comienzo y luego añadiendo lo demás. Algo como
Código PHP:
Ver original<?php
function appendOldXmlToTheEnd($newXml, $oldXml){
foreach($oldXml as $key => $value){
list($keyChild) = $value->children(); appendOldXmlToTheEnd($newXml->addChild($key), $value);
}else{
$newXml->addChild($key, $value);
}
}
}
$xmlString = <<<XMLSTRING
<foo>
<vegetable>
<bar>
<baz>baz</baz>
<candy>candy</candy>
</bar>
</vegetable>
</foo>
XMLSTRING;
$xml = new SimpleXMLElement('<foo></foo>');
$xml->addChild('fruits','fruits');
appendOldXmlToTheEnd($xml, new SimpleXMLElement($xmlString));
echo $xml->asXML();
Ups, varios minutos después, que bueno que hayas encontrado lo que necesitas