使用JQuery从XML读取数据时出错

时间:2013-01-24 10:57:04

标签: jquery xml ajax

我有一个像

这样的xml文件
<?xml version="1.0" encoding="ISO-8859-1"?>
<childrens>
<child entity_id="1" value="Root Catalog" parent_id="0">
<child entity_id="2" value="Apparel" parent_id="1">
    <child entity_id="4" value="Shirts" parent_id="2"/>
    <child entity_id="5" value="Pants" parent_id="2"/>
</child>
<child entity_id="3" value="Accessories" parent_id="1">
    <child entity_id="6" value="Handbags" parent_id="3"/>
    <child entity_id="7" value="Jewelry" parent_id="3"/>
</child>
</child>
</childrens>

n试图获取parent_id = 2 n已写入此jquery代码

的数据
$(document).ready(function(){
        $.ajax({
            type: "GET",
            url: "test.xml",
            dataType: "xml",
            success: function(xml) {
                $(xml).find('child').attr('[parent_id=3]').each(function(){
                    var id = $(this).attr('entity_id');
                    alert(id);

                });
            }
        });
    });

但它不起作用

如果我删除.attr('[parent_id=3]'),那么每个ID都会提醒

1 个答案:

答案 0 :(得分:1)

错误使用attr,您使用attr('[parent_id=3]')的方式将使用name=[parent_id=3]搜索属性,如果元素具有此类属性,那么每个字符串值将被使用,这里似乎不需要

<强> Live Demo

更改

$(xml).find('child').attr('[parent_id=3]').each(function(){

$(xml).find('child[parent_id=3]').each(function(){