这可能是一个简单的问题,但不知道如何去做。 我想加载并修改一个xml文件,然后通过php保存xml。
这是代码:
$.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);});
}
}
});
save_xml.php 如下所示:
<?php
$xml = $GLOBALS["HTTP_RAW_POST_DATA"];
$file = fopen("file.xml","w");
fwrite($file, $xml);
fclose($file);
echo "ok";
?>
最佳答案
这是您要找的吗?
$(this)
是您使用 .each()
迭代的每个 menu_items
你的代码变成
$(xml).find('menu_item').each(function(){
$(this).text("New Value");
});
希望这有帮助
编辑
要将其发布回服务器,我会这样做:
$.post('save_xml.php', { xml: $(xml)}, function(data){alert("Data Loaded: " + data);});
然后在 PHP 文件中
<?php
$xml = $_POST['xml'];
$file = fopen("file.xml","w");
fwrite($file, $xml);
fclose($file);
echo "ok";
?>
此代码未经测试,可能有多种原因导致其无法工作,例如文件的写入权限等。
关于jquery - 如何用jquery改变xml节点的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4667067/