使用jQuery .each循环遍历XML文件

时间:2011-08-15 21:10:23

标签: xml jquery

我有一个很长的XML文件。下面是我用来检索文件然后使用jQuery的.each()遍历文件的代码,输出正确的信息:

$(document).ready(function(){
$.ajax({
    type: "GET",
    url: "data.xml",
    dataType: "xml",
    success: function(xml) {
        $(xml).find('Table').each(function(index){
            var provider = $(this).find('Provider').text();
            var channel = $(this).find('FeedCommonName').text();
            var hd = $(this).find('FeedIsHD').text();
                $('.box ul').append('<li>'+channel+'</li>');
        });
    }
});
});

我遇到的问题是代码只给了我31元素。我添加了索引变量来查看它,它给了我一个从0到30的索引。所以有一些限制.each ()只能达到30的索引,如果是这样,是否有其他方法可以通过XML文件?感谢。

编辑:解决,至少现在。 XML文件中有&amp;'s,它阻止了处理。我想再次提醒您验证源文件。

1 个答案:

答案 0 :(得分:12)

在找到元素

之前尝试使用parseXML
$(document).ready(function(){
  $.ajax({
    type: "GET",
    url: "data.xml",
    dataType: "xml",
    success: function(xml) {
        $.parseXML(xml).find('Table').each(function(index){
            var provider = $(this).find('Provider').text();
            var channel = $(this).find('FeedCommonName').text();
            var hd = $(this).find('FeedIsHD').text();
            $('.box ul').append('<li>'+channel+'</li>');
        });
    },
    error: function() {
        $('.box ul').text("Failed to get xml");
    }
  });
});