PnzrDrgoon Posted July 28, 2010 Share Posted July 28, 2010 $domdoc=new DOMDocument(); $domdoc->formatOutput=TRUE; $empty_cart_xml= '<Order> <Cart> <Items> <Item>1</Item> <Item>2</Item> <Item>3</Item> </Items> </Cart> </Order>'; $domdoc->loadXML($empty_cart_xml); print $domdoc->saveXML()."<hr/>"; //works up to this point $xpath=new DOMXPath($domdoc); $items=$xpath->query('Order/Cart/Items'); foreach($itemses AS $items) { $items->appendChild($domdoc->createElement('Item','4')); } print $domdoc->saveXML(); All I want to do is to add a new Item to Items. What am I doing wrong? Link to comment https://forums.phpfreaks.com/topic/209126-how-do-i-add-children-to-xml-using-domdocument-and-xpath/ Share on other sites More sharing options...
PnzrDrgoon Posted July 28, 2010 Author Share Posted July 28, 2010 Yay! Answer below. $domdoc=new DOMDocument(); $domdoc->formatOutput=TRUE; //print $domdoc->saveXML(); $empty_cart_xml= '<Order xmlns="http://payments.amazon.com/checkout/2009-05-15/"> <Cart> <Items> <Item>1</Item> <Item>2</Item> <Item>3</Item> </Items> </Cart> <OrderCalculationCallbacks> <CalculateTaxRates>true</CalculateTaxRates> <CalculatePromotions>true</CalculatePromotions> <CalculateShippingRates>true</CalculateShippingRates> <OrderCallbackEndpoint> https://my.endpoint.com/receive.php </OrderCallbackEndpoint> <ProcessOrderOnCallbackFailure>true</ProcessOrderOnCallbackFailure> </OrderCalculationCallbacks> </Order>'; //print $empty_cart_xml; $domdoc->loadXML($empty_cart_xml); print $domdoc->saveXML()."<hr/>"; $item=$domdoc->createElement('Item','4'); $domdoc->getElementsByTagName('Items')->item(0)->appendChild($item); print $domdoc->saveXML(); Link to comment https://forums.phpfreaks.com/topic/209126-how-do-i-add-children-to-xml-using-domdocument-and-xpath/#findComment-1092291 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.