我无法通过jQuery阅读此xml。用jquery阅读本文xml
XML:
<myElements type="AA" coID="A923">
<element1>01</element1>
<element2>02</element2>
<element3>03</element3>
</myElements>
我在寻找以下的输出:
element1=01
element2=02
element3=03
有一点帮助吧。
我无法通过jQuery阅读此xml。用jquery阅读本文xml
XML:
<myElements type="AA" coID="A923">
<element1>01</element1>
<element2>02</element2>
<element3>03</element3>
</myElements>
我在寻找以下的输出:
element1=01
element2=02
element3=03
有一点帮助吧。
首先,您需要在调用jQuery函数时包装xml
变量,如$(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 ===");
试试这个
$('*', xml).each(function() {
更换线路
$(xml).find("myElements").each(function() {
或
$(xml).children().each(function() {
的原因是不言自明的:你必须获取的孩子,而不是根元素。
我真的会为此建议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
我知道这看起来很多,但它确实不是那么糟糕。把你的路径放到你的xml中,在.each()中做你想做的事情。
对不起格式化,该死的标签和空格有时会失控 –
(+1)谢谢,我希望我能给你两个信用。但他有“this.tagName”,这也告诉我如何检索标记名值。 – capdragon