jquery - 如何用jquery改变xml节点的值?

标签 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";

?> 

最佳答案

这是您要找的吗?

$(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/

相关文章:

c# - 在 ASP.NET jQuery AJAX POST 中传递值数组

jquery - 如何将 jQuery Datepicker 连接到我的 Ruby on Rails 表单?

jquery - 重新渲染 richfaces/jsf 组件时如何维护 jQuery/javasscript 操作的 DOM 状态?

xml - 解析器与词法分析器和 XML

java - Android Studio 0.8.10资源问题

jquery - 关于parsererror SyntaxError : Unexpected end of input (CI with Jquery&ajax )

javascript - $ ('title' ).text() 在 IE 中不起作用

javascript - 将内联 javascript 重写为外部函数 - 此引用

android - Textview不跳到下一行android

jquery - 通过 Ajax 动态列表人口选择 jQuery 并使用 Bootstrap Validator 进行验证