davemoody Posted August 12, 2011 Share Posted August 12, 2011 Hello, I've just created code in my shopping cart to save an order to an xml file. Now the file has all the elements and 'children' all in one long line, which gets longer with every new order. Is it possible to control how the elements etc are saved to the xml file so that they are nested? Here's my php code for adding elements to the file: $xdoc = new DomDocument; $xdoc->Load('orders/orders.xml'); $orders = $xdoc->getElementsByTagName('Orders')->item(0); $newOrderElement = $xdoc ->createElement('Order'); $newUsernameElement = $xdoc ->createElement('username'); $newEmailElement = $xdoc ->createElement('email'); $newFirstNameElement = $xdoc ->createElement('firstname'); $newLastNameElement = $xdoc ->createElement('lastname'); $newStreetElement = $xdoc ->createElement('street'); $newCityElement = $xdoc ->createElement('city'); $newStateElement = $xdoc ->createElement('state'); $newPostcodeElement = $xdoc ->createElement('postcode'); $newCountryElement = $xdoc ->createElement('country'); $newCCnumberElement = $xdoc ->createElement('ccnumber'); $newCCexpirymonthElement = $xdoc ->createElement('ccexpirymonth'); $newCCexpiryyearElement = $xdoc ->createElement('ccexpiryyear'); $newOrdertotalElement = $xdoc ->createElement('ordertotal'); $newProductorderElement = $xdoc ->createElement('productorder'); $usernameNode = $xdoc ->createTextNode ($username); $emailNode = $xdoc ->createTextNode ($email); $firstnameNode = $xdoc ->createTextNode ($firstname); $lastnameNode = $xdoc ->createTextNode ($lastname); $streetNode = $xdoc ->createTextNode ($street); $cityNode = $xdoc ->createTextNode ($city); $stateNode = $xdoc ->createTextNode ($state); $postcodeNode = $xdoc ->createTextNode ($postcode); $countryNode = $xdoc ->createTextNode ($country); $ccnumberNode = $xdoc ->createTextNode ($ccnumber); $ccexpirymonthNode = $xdoc ->createTextNode ($ccexpirymonth); $ccexpiryyearNode = $xdoc ->createTextNode ($ccexpiryyear); $ordertotalNode = $xdoc ->createTextNode ($ordertotal); $productorderNode = $xdoc ->createTextNode ($productorder); $newUsernameElement -> appendChild($usernameNode); $newEmailElement -> appendChild($emailNode); $newFirstNameElement -> appendChild($firstnameNode); $newLastNameElement -> appendChild($lastnameNode); $newStreetElement -> appendChild($streetNode); $newCityElement -> appendChild($cityNode); $newCountryElement -> appendChild($countryNode); $newCCnumberElement -> appendChild($ccnumberNode); $newCCexpirymonthElement -> appendChild($ccexpirymonthNode); $newCCexpiryyearElement -> appendChild($ccexpiryyearNode); $newOrdertotalElement -> appendChild($ordertotalNode); $newProductorderElement -> appendChild($productorderNode); $newOrderElement -> appendChild($newUsernameElement); $newOrderElement -> appendChild($newEmailElement); $newOrderElement -> appendChild($newFirstNameElement); $newOrderElement -> appendChild($newLastNameElement); $newOrderElement -> appendChild($newStreetElement); $newOrderElement -> appendChild($newCityElement); $newOrderElement -> appendChild($newStateElement); $newOrderElement -> appendChild($newCountryElement); $newOrderElement -> appendChild($newCCnumberElement); $newOrderElement -> appendChild($newCCexpirymonthElement); $newOrderElement -> appendChild($newCCexpiryyearElement); $newOrderElement -> appendChild($newOrdertotalElement); $newOrderElement -> appendChild($newProductorderElement); $orders -> appendChild($newOrderElement); $xdoc->save('orders/orders.xml'); Any advice will be greatly appreciated. Dave. Link to comment https://forums.phpfreaks.com/topic/244657-formatting-xml-file-using-php/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.