Javascript 使用jquery阅读此xml
我在使用jQuery读取此xml时遇到问题 XML: 请帮点忙。试试这个Javascript 使用jquery阅读此xml,javascript,jquery,xml,Javascript,Jquery,Xml,我在使用jQuery读取此xml时遇到问题 XML: 请帮点忙。试试这个 $('*', xml).each(function () { 更换线路上的电缆 $(xml).find("myElements").each(function () { 或 原因不言而喻:您必须获取子元素,而不是根元素。首先,您需要将xml变量包装在对jQuery函数的调用中,如$(xml)中所示。然后,调用children()将获得所有目标元素 下面是一个非常基本(而且很草率)的迭代元素的工作示例,但需要更改的只是
$('*', xml).each(function () {
更换线路上的电缆
$(xml).find("myElements").each(function () {
或
原因不言而喻:您必须获取子元素,而不是根元素。首先,您需要将
xml
变量包装在对jQuery函数的调用中,如$(xml)
中所示。然后,调用children()
将获得所有目标元素
下面是一个非常基本(而且很草率)的迭代元素的工作示例,但需要更改的只是选择器:
var xml = '<myElements type="AA" coID="A923"><element1>01</element1> <element2>02</element2><element3>03</element3></typeData>';
var myOutput = $("#output");
myOutput.append("=== start ===<br />");
$(xml).children().each(function () {
var xmlnode = $(this);
myOutput.append(this.tagName + xmlnode.text() + '<br/>');
});
myOutput.append("=== end ===");
var xml='01 0203';
var myOutput=$(“#输出”);
myOutput.append(“==start===
”);
$(xml).children().each(函数(){
var xmlnode=$(这个);
myOutput.append(this.tagName+xmlnode.text()+'
);
});
myOutput.append(“==end==”);
工作演示:您可以使用jQuery
parseXML
(请参阅)函数将XML字符串解析为XML文档对象。只需在变量声明和每个循环之间添加这一行:
xml = $.parseXML(xml);
那么剩下的部分就可以了。你可以看到一个例子。我真的建议使用ajax。IE讨厌jquery获取xml的方式。我已经用了很长时间,取得了很多成功,而且没有问题
$.ajax({
url: "path-to-file.xml",
dataType: ($.browser.msie) ? "text" : "xml",
success: function(data){
var xml;
if (typeof data == "string") {
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
alert($(xml).find('element1').text());
alert($(xml).find('element2').text());
alert($(xml).find('element3').text());
},//END SUCCSESS
error: function(){
alert("Sorry, There was an error loading this information. Refresh the page or try again later. ");
history.go(-1);
}
});//END AJAX CALL
我知道这看起来很多,但其实没那么糟。在.each()中输入xml的路径,做你想做的事。很抱歉格式化了,该死的制表符和空格有时会失控(+1)谢谢,我希望我能给你们两个表扬。但他有一个“this.tagName”,它还向我展示了如何检索标记名值。
var xml = '<myElements type="AA" coID="A923"><element1>01</element1> <element2>02</element2><element3>03</element3></typeData>';
var myOutput = $("#output");
myOutput.append("=== start ===<br />");
$(xml).children().each(function () {
var xmlnode = $(this);
myOutput.append(this.tagName + xmlnode.text() + '<br/>');
});
myOutput.append("=== end ===");
xml = $.parseXML(xml);
$.ajax({
url: "path-to-file.xml",
dataType: ($.browser.msie) ? "text" : "xml",
success: function(data){
var xml;
if (typeof data == "string") {
xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
alert($(xml).find('element1').text());
alert($(xml).find('element2').text());
alert($(xml).find('element3').text());
},//END SUCCSESS
error: function(){
alert("Sorry, There was an error loading this information. Refresh the page or try again later. ");
history.go(-1);
}
});//END AJAX CALL