How to change the value of an xml node with jquery?
11,688
Is this what you are looking for?
$(this)
is each of the menu_items
you iterate over with .each()
Your code becomes
$(xml).find('menu_item').each(function(){
$(this).text("New Value");
});
Hope this helps
EDIT
To post this back to the server I would do this:
$.post('save_xml.php', { xml: $(xml)}, function(data){alert("Data Loaded: " + data);});
and then in the PHP file
<?php
$xml = $_POST['xml'];
$file = fopen("file.xml","w");
fwrite($file, $xml);
fclose($file);
echo "ok";
?>
This code is untested, and there could be any number of reasons it doesn't work, write permissions on the files etc.
Author by
iulian
Updated on June 04, 2022Comments
-
iulian about 2 years
This may be a simple question though can´t figure out how to do it. I want to load and modify an xml file, then save the xml through php.
Here is the code:
$.ajax({ type: "GET", url: "menu.xml", dataType: "xml", success: function(xml) { $(xml).find('menu_item').each(function(){ //change the value of menu_item $(this).empty(); $(this).text($("textarea").attr("value")); //send xml to php $.post('save_xml.php', $(xml), function(data){alert("Data Loaded: " + data);}); } } });
Here is how save_xml.php looks like:
<?php $xml = $GLOBALS["HTTP_RAW_POST_DATA"]; $file = fopen("file.xml","w"); fwrite($file, $xml); fclose($file); echo "ok"; ?>