使用Jquery从XML查找特定节点的子元素

时间:2013-01-29 12:57:07

标签: jquery xml ajax

我有一个像

这样的xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<childrens>
<child id="1" value="Root Catalog" parent_id="0">
  <child id="2" value="Apparel" parent_id="1">
  <child id="4" value="Shirts" parent_id="2"/>
<child id="5" value="Pants" parent_id="2"/>
</child>
<child id="3" value="Accessories" parent_id="1">
  <child id="6" value="Handbags" parent_id="3"/>
  <child id="7" value="Jewelry" parent_id="3"/>
</child>
 .
 .
 .
<child id='1110'>
   <child id='1111' value="test" parent_is="1110">
       <child id="1005" value="test1" parent_is="1111"/>
       <child id="1006" value="test12" parent_is="1111"/>
       <child id="1007" value="test123" parent_is="1111"/>
    <child>
</child>
<child >
</childrens>

我正在使用jquery来查找特定节点的子节点

我已编写此代码以查找id=1111value=test

所在节点的子节点
$(document).ready(function(){
    $.ajax({
        type: "GET",
        url: "test.xml",
        dataType: "xml",
        success: function(xml) {
            $(xml).find('child[value="test"]').each(function(){
                var i = $(this).attr('value');
                alert(i);

            });
        }
    });
});

它只给我一个名字,就是它自己

虽然我需要输出三个名字,这是它的子元素

test1tets12test123

1 个答案:

答案 0 :(得分:3)

我想你想使用.children()

$(xml).find('child[value="test"]').children().each(function(){
    ...
});