0

我正在尝试将此 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>

查询:

 <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>
4

1 回答 1

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/

于 2013-05-22T05:52:08.780 回答