如何使用JavaScript / Ajax修改XML文件中的值?
我能够使用Ajax打开XML文件,并在我的脚本中使用它的值,但现在我想使用Ajax将我的脚本所做的更改发送回服务器上的XML文件。
应该有可能我想,但我找不到一个可以借鉴的例子。我已经遵循了很多教程(也来自http://lynda.com),但通常他们使用XML中的数据而他们不会改变它。
我不想使用其他语言,因为它是一个非常简单的脚本和XML文件,只包含4个字段。
答案 0 :(得分:0)
以下是使用javascript将xml发送回服务器端的方法:
jQuery.post(
url,
xml_as_string,
success( data, textStatus, jqXHR){
},
"xml"
);
您可以使用DOMParser
访问javascript中的XMLhttp://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);
我希望你能理解这一点。