1

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

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

我认为这应该是可能的,但我找不到可以学习的例子。我遵循了很多教程(也来自http://lynda.com),但通常他们使用来自 XML 的数据并且他们不会更改它。

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

4

2 回答 2

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
   }
});
于 2012-11-29T14:52:07.157 回答
0

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

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

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

假设我有价值 xml_item = 有那个 xml。

就像我想更改标签的值一样。然后我这样做是为了改变价值。var element_to = xml.getElementsByName('To')[0]; //要改变它的值,首先检测borwser是否是IE然后使用element_to.text =“你的新值” //如果不是ie然后使用。element.to.textContent = "你的新值";

//如果你想改变元素的属性值,你需要这样做。element_to.setAttribute("attibute_name","new_value");

我希望你能明白这一点。

于 2012-11-29T15:44:54.003 回答