PDA

View Full Version : Xml - php domxml add new node



keitai
March 8th, 2005, 10:28 AM
Hi all,

I am using domxml to make a simple edit, add cms.

Now I am stuck with the add part. My xml file is


<?xml version="1.0"?>
<specials>
<special ranking="1">
<sort>Offer</sort>
<destination>New york</destination>
<airline>Air west</airline>
<price>399</price>
<moreInfo>none</moreInfo>
</special>
<special ranking="2">
<sort>Offer</sort>
<destination>Berlin</destination>
<airline>Air west</airline>
<price>299</price>
<moreInfo>none</moreInfo>
</special>
</specials>

Now when I add a new special it looks like


<?xml version="1.0"?>
<specials>
<special ranking="1">
<sort>Offer</sort>
<destination>New york</destination>
<airline>Air west</airline>
<price>399</price>
<moreInfo>none</moreInfo>
</special>
<special ranking="2">
<sort>Offer</sort>
<destination>Berlin</destination>
<airline>Air west</airline>
<price>299</price>
<moreInfo>none</moreInfo>
</special>
</specials>
<special ranking="3">
<sort>Offer</sort>
<destination>Berlin</destination>
<airline>Air west</airline>
<price>299</price>
<moreInfo>none</moreInfo>
</special>


I can't get the new special between the specials-tags.

My code for adding is


// Open the XML file and get the root element
$doc = domxml_open_file("specials.xml");
$root = $doc->document_element("specials");
//create document root
$root = $doc->create_element("special");
$root = $doc->append_child($root);

................

I think I need to reset the $root but how???

Gazler
March 8th, 2005, 11:43 AM
A dirty way to do it would be to replace <specials> with <specials>then your xml.