dom_import_simplexml
.
$_RenderedXML = new SimpleXMLElement($_XML);
//Add a new Link node
addchild_at($_RenderedXML->Menu, "Link", 2);
$_RenderedXML->Menu->Link[2]->addAttribute("href", "page3.htm");
function addchild_at(SimpleXMLElement $sxml, $tagname, $i) {
$elem = dom_import_simplexml($sxml);
$new = $elem->ownerDocument->createElement($tagname);
$chnodes = array();
foreach ($elem->childNodes as $cn) {
$chnodes[] = $cn;
}
$chnodes = array_filter($chnodes,
function (DOMNode $dn) { return $dn->nodeType == XML_ELEMENT_NODE; }
);
$chnodes = array_values($chnodes);
if ($i < count($chnodes))
$elem->insertBefore($new, $chnodes[$i]);
else
$elem->appendChild($new);
}