View Single Post
Old 06-21-2009, 01:42 PM   #1 (permalink)
robdraw
Registered User
 
Join Date: Jun 2009
Posts: 1
OS: xp


PHP and XML node problem

Hi I am testing a script where I can change an XML files nodes value with PHP, It seems to work except for one issue the text within the node is changed but when I save it back to the file the nodes have dissappered and only the text is present, any ideas where I am going wrong here?

The XML:
<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<home>
<heading>A header</heading>
<content>The content</content>
<image>img/animage.jpg</image>
</home>
</root>

The code

<?php
// Load the XML
$dom = new DomDocument;

$dom->Load('xml01.xml');
// Locate the old parent node
$xpath = new DOMXpath($dom);
$nodelist = $xpath->query('/root/home/content');
$oldnode = $nodelist->item(0);
?>


<?php
// Load the new text string
$modtxt = $_POST['my_text'];
$text = $dom->createTextNode($modtxt);


// Replace
$oldnode->parentNode->replaceChild($text, $oldnode);

// Display
echo $dom->saveXML();

// Now save it to the file,, hmmmm this has a problem the node is changed but it saves new data without the node

print $dom->save("xml01.xml");

?>

New XML
<?xml version="1.0" encoding="iso-8859-1"?>
<root>
<home>
<heading>A header</heading>
New Text String
<image>img/animage.jpg</image>
</home>
</root>

Any help would be highly appriciated

Rob

Last edited by robdraw; 06-21-2009 at 01:44 PM.
robdraw is offline   Reply With Quote
Important Information
Join the #1 Tech Support Forum Today - It's Totally Free!

TechSupportForum.com is a leading support website for your computer needs. We offer free, friendly and personalized computer support. Why pay to have your computer fixed when you can do it for free.

Join TechSupportforum.com Today - Click Here