如何使用java脚本或jQuery解析xml webservice响应
问题描述:
我想使用下面的xml webservice。 www.musicbrainz.org/ws/2/artist/?query=artist:michael jackson如何使用java脚本或jQuery解析xml webservice响应
其格式如下图所示:
<metadata><artist-list offset="0" count="3418"><artist ext:score="100" type="Person" id="f27ec8db-af05-4f36-916e-3d57f91ecf5e"><name>Michael Jackson</name><sort-name>Jackson, Michael</sort-name><gender>male</gender><country>US</country>
我只是想分析这个XML &从它那里得到的性别。 我用下面的代码来分析xml。 在这里,我得到了艺术家的ext属性,但不工作。
$.ajax({
type: 'GET',
url: 'http://www.musicbrainz.org/ws/2/artist/?query=artist:michael jackson',
dataType: 'xml',
success: function(xml){
// console.log(xml);
$(xml).find('artist-list').each(function(){
$(this).find('artist').each(function(){
var ext = $(this).attr('ext');
alert(ext);
});
});
}
});
任何人都可以建议我使用javascript或jquery解析xml的示例。
答
$.ajax({
type: 'GET',
url: 'http://www.musicbrainz.org/ws/2/artist/?query=artist:michael jackson',
dataType: 'xml',
success: function(xml){
$("artist", xml).each(function(){
console.log($("gender", this).text());
});
}
});
更新:
刚才检查的web服务。我发现,并不是每个artist
都指定了gender
标签。在这种情况下,你可以使用以下命令:
$("artist", xml).each(function(){
var gender = $("gender", this);
if(gender.length>0)
console.log($(gender).text());
});
+0
谢谢@papaiatis。他的工作 – 2012-02-21 08:44:16
见我的回答如下。任何回应都会很棒! – papaiatis 2012-02-21 08:43:26