如何单独使用jQuery解析xml属性?

时间:2011-04-21 17:03:03

标签: javascript jquery xml

我已经成功解析了xml,但我仍然坚持获得孩子们的属性。

XML示例:

<entries>
    <entry>
        <media:thumbnail url="blah" />
    </entry>
</entries>

Javascript / jQuery:

$.get('data.xml', function(d){
    $(d).find('entry').each(function(){
        var $entry = $(this);
        var pic = $entry.find('media:thumbnail').attr('url');
    })
});

javascript对我来说无法获取属性。 有什么问题?

3 个答案:

答案 0 :(得分:24)

Aah,命名空间是一种不同的动物,它不在你的原始帖子中。您必须转义选择器中的:

var pic = $entry.find('media\\:thumbnail').attr('url');

http://jsfiddle.net/JSrJe/1/

另见jQuery XML parsing with namespaces

答案 1 :(得分:1)

试试这个

$.ajax({
    type: "GET",
    url: 'data.xml,
    dataType: "xml",
    success: function(xml) {
        $(xml).find('entry').each(function(){
            var $entry = $(this);
            var pic = $entry.find('picture').attr('url');
            alert(pic);
        })
    },
    error: function(xhr, status, error) {
        if (xhr.status != 404) {alert(error);} else {alert("404 xml not found");}
    }
})

答案 2 :(得分:0)

  $.get('data.xml', function(d) {
    $(d).find('entry').each(function() {
        var $entry = $(this);
        var pic = $e`enter code here`ntry.find('media\\:thumbnail, thumbnail').attr('url');
    })
});