Jquery - 遍历所有xml标记

时间:2009-11-14 17:52:45

标签: jquery

如何遍历xml中的所有标记

我有一个生成像下一个xmls的php

<register>
  <name>peter</name>
  <age>12</age>
</register> 
<register>
  <name>mary</name>
  <age>20</age>
</register> 

所以我收到这个xml(这很好用)

$.ajax({success: function(xml) {  

   $(xml).find('register').each (function() 
   { 
     alert($(this).find('name').text()) // works fine, shows peter then mary on the next loop of "each"



     // But if i dont know the tag names (name,age) for each register ?     

     // Something like

      $(this).nodes().each .... // 
 alert($(this).tagName);  // i wanna show "name" & "age", how can i get the tag names inside each register in my xml sample tree?

   });    

}});

2 个答案:

答案 0 :(得分:11)

此链接提供了使用迭代xml

的一个很好的示例
xml.find('result').find('permissionDetails').each(function(){
    $(this).children().each(function(){
        var tagName=this.tagName;
        var val=$(this).text();
        if(val==1){
            $('input:checkbox[name='+tagName+']').attr('checked',true);
        }
        else if(val==0){
            $('input:checkbox[name='+tagName+']').removeAttr('checked');
        }
    })
});

http://anasthecoder.blogspot.in/2012/02/looping-through-xml-with-jquery.html

答案 1 :(得分:3)

您需要查看children()功能等。有关这些功能的更多信息,请参阅jQuery traversal documentation