通过jquery获取xml中特定子级的子级值

时间:2011-01-05 17:07:44

标签: jquery xml parsing parent-child

我是jquery的新手,我想在xml文件中解析子类的特定子属性,例如,我有这个城市和地区列表

<city name="ANKARA"> 
  <distr>BEYPAZARI</distr>
  <distr>GÜDÜL</distr>
  <distr>KAZAN</distr>
  <distr>ÇANKAYA</distr>
</city>
<city name="İSTANBUL">
 <distr>EMİNÖNÜ</distr>
 <distr>ÇATALCA</distr>
 <distr>BEYOĞLU</distr>
 <distr>BEYKOZ</distr>
 <distr>BEŞİKTAŞ</distr>
</city>

我使用此代码获取城市列表

 $(xml).find('city').each(function(){
     var city = $(this).attr("name");
     $("<option>").text(city).appendTo("#cityList");
 }); 

但我不知道如何获得例如安卡拉的地区名单, 有人可以帮我 提前谢谢

3 个答案:

答案 0 :(得分:1)

 $(xml).find('city[name="ANKARA"]').each(function(){
     var city = $(this).attr("name");
     $("<option>").text(city).appendTo("#cityList");
 }); 

这是你想要的“attribute equals”选择器。

答案 1 :(得分:0)

尝试此操作以遍历所有城市和儿童区

$(xml).find('city').each(function(){
     var city = $(this).attr("name");
     $('distr', this).each(function(){
       //Add your code here to deal with Districts
    }
   });
   $("<option>").text(city).appendTo("#cityList");
 }); 

答案 2 :(得分:0)

以上两个答案都帮助我得到了我想要的东西,

$(xml).find('city[name="ANKARA"]').find('distr').each(function(){
    var distr = $(this).text();
    $("<option>").text(distr).appendTo("#district_list");
});

非常感谢