这可能是一个简单的问题,但无法弄清楚如何做到这一点。 我想加载和修改一个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";
?>
答案 0 :(得分:2)
这是你在找什么?
$(this)
是您使用menu_items
.each()
中的每一个
您的代码变为
$(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";
?>
此代码未经测试,可能有多种原因无效,对文件写入权限等。