jQuery XML解析 - 获取属性值

时间:2013-09-05 04:22:51

标签: jquery xml ajax xml-parsing

我在通过Ajax发送请求后得到以下xml响应,因此我想使用 jQuery 解析以下 xml 数据以获取特定属性值。

<Room1>
            <Node Name='Scene1' Text='Morning'/>
            <Node Name='Scene2' Text='Leaving'/>
            <Node Name='Scene3' Text='Morning'/>
            <Node Name='Scene4' Text='Entertainment'/>
            <Node Name='Scene5' Text='Party'/>
            <Node Name='Scene6' Text='s6'/>
            <Node Name='Scene7' Text='Watch TV'/>
            <Node Name='Scene8' Text='Watch Movie'/>
            <Node Name='Scene9' Text='TV on Screen'/>
            <Node Name='Scene10' Text='Movie on Screen'/>
            <Node Name='Scene11' Text='Leaving Room'/>
</Room1>

我想获取属性名称文字的值。以下代码是我尝试过的,

 $.ajax({
            method : "GET",
            url    :  "controller/Controller.php",
            data   : "myData=Room1",
            success:function(response){
                    var xml = response;

                    $(xml).find('Room1').each(function(){
                        $(this).find('Node').each(function(){
                            console.log($(this).attr('Name'));
                        });
                    });
                }
        });

提前致谢

1 个答案:

答案 0 :(得分:2)

我建议你将整个xml转换为json,然后在jquery中使用对象时可以使用json。

jQuery plugin for serializing XML to JSON

例如,要获取名称和文本属性,您所要做的就是:

$。each(jsonObject,function(index){console.log($(this).name)}