小编典典

如何使用jquery更改xml节点的值?

ajax

这可能是一个简单的问题,尽管无法弄清楚该怎么做。我想加载和修改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";

?>

阅读 412

收藏
2020-07-26

共1个答案

小编典典

这是你想要的?

$(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";
?>

该代码未经测试,可能有多种原因导致其无法正常工作,对文件的写入权限等。

2020-07-26