在JQUERY中解析XML - 节点列为一个项目而不是单独的列表项目

时间:2013-05-22 05:43:15

标签: jquery xml xml-parsing each

我正在尝试从此XML文件中获取每个跟踪名称和状态到单个列表项。我得到的结果是所有路径合并为一个列表项,而状态仅合并为第一个。

结果:

  • Trail 1Trail 2Trail 3Trail 4Trail 5Trail 6List item

  • 打开

XML:

<ZONE ZONENAME="Lower Mountain">
<TRAILNAME STATUS="Open">Trail 1</TRAILNAME>
<TRAILNAME STATUS="Open">Trail 2</TRAILNAME>
<TRAILNAME STATUS="Closed">Trail 3</TRAILNAME>
<TRAILNAME STATUS="Open">Trail 4</TRAILNAME>
<TRAILNAME STATUS="Open">Trail 5</TRAILNAME>
<TRAILNAME STATUS="Open">Trail 6</TRAILNAME>
</ZONE>

JQuery的:

 <script>
 $(document).ready(function(){
 $.ajax({
 type: "GET",
 url: "bike.xml",
 dataType: "xml",
 success: function(data) {
    $(data).find('ZONE[ZONENAME="Lower Mountain"]').each(function(index){
          trails = $(data).find('TRAILNAME').text();
          status = $(data).find('TRAILNAME').attr('STATUS');
        $('.LeftBox').append('<li>'+trails+'</li>');
        $('.RightBox').append('<li>'+status+'</li>');
    });
   }
  });
 });
 </script>

1 个答案:

答案 0 :(得分:0)

尝试以下代码

var myxml = $.parseXML(xml);
    $(myxml).find('ZONE[ZONENAME="Lower Mountain"]').find('TRAILNAME').each(function (index, item) {
        alert($(this).text());
        alert($(this).attr('STATUS'));
    });

检查小提琴上的样本http://jsfiddle.net/VxtGm/