使用Ajax修改XML?

时间:2012-11-29 14:45:08

标签: javascript xml ajax

如何使用JavaScript / Ajax修改XML文件中的值?

我能够使用Ajax打开XML文件,并在我的脚本中使用它的值,但现在我想使用Ajax将我的脚本所做的更改发送回服务器上的XML文件。

应该有可能我想,但我找不到一个可以借鉴的例子。我已经遵循了很多教程(也来自http://lynda.com),但通常他们使用XML中的数据而他们不会改变它。

我不想使用其他语言,因为它是一个非常简单的脚本和XML文件,只包含4个字段。

2 个答案:

答案 0 :(得分:0)

以下是使用javascript将xml发送回服务器端的方法:

jQuery.post( 
    url, 
    xml_as_string, 
    success( data, textStatus, jqXHR){

    }, 
    "xml"
);

您可以使用DOMParser

访问javascript中的XML

http://www.erichynds.com/jquery/working-with-xml-jquery-and-javascript/

// the correct way to use jQuery w/ XML
// also see http://gist.github.com/553364 for a normalized DOMParser

var 
   // XML string
   xmlString = '<wu_tang><member name="Method Man" /></wu_tang>',

   // DOM parsing object
   parser = new DOMParser(),

   // XML DOM object
   xmlObject = parser.parseFromString(xmlString , "text/xml");

// this is WRONG.  It works, but you're not on an XML DOM
$( xmlString ).find("member").attr("name"); // -> Method Man

// the correct way
$( xmlObject ).find("member").attr("name"); // -> Method Man

// in XHR requests the parsing is automatically done for you by
// the browser.  jQuery passes it into the success callback
$.ajax({
   dataType: 'xml',
   url: 'wutang.xml',
   success: function( XMLObject ){

      // OMG
      $( xmlObject ).find("member").attr("name"); // -> Method Man
   }
});

答案 1 :(得分:0)

使用javascript,您可以更改所需节点的xml值及其属性。

首先,您需要通过getElementbyname或使用javascript xquery从xml获取所需的节点。

例如从链接http://www.w3schools.com/xml/default.asp

检查xml

假设我有值xml_item =有xml。

喜欢我想改变标签的价值。 那么我这样做是为了改变价值。     var element_to = xml.getElementsByName(&#39; To&#39;)[0];     //要更改其值,首先检测borwser是否为I.E然后使用     element_to.text =&#34;你的新价值&#34;     //如果不是那么使用     element.to.textContent =&#34;您的新值&#34 ;;

//如果要更改元素的属性值,则需要执行此操作。    element_to.setAttribute(&#34; attibute_name&#34;&#34; NEW_VALUE&#34);

我希望你能理解这一点。