كيفية تحليل استجابة خدمة ويب XML باستخدام Javascript أو jQuery
-
28-10-2019 - |
سؤال
أريد استخدام خدمة ويب XML التالية.www.musicbrainz.org/ws/2/artist/?query=artist:مايكل جاكسون
التنسيق الذي هو مثل أدناه:
<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 .هنا أحصل على سمة تحويلة للفنان ولكن لا تعمل.
$.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);
});
});
}
});
يمكن لأي شخص أن يقترح علي المثال لتحليل ملف XML باستخدام Javascript أو jQuery.
المحلول
$.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());
});
}
});
تحديث:
لقد قمت للتو بفحص خدمة الويب ورأيت ذلك ليس كل شيء artist
لديه gender
العلامة المحددة.في هذه الحالة يمكنك استخدام ما يلي:
$("artist", xml).each(function(){
var gender = $("gender", this);
if(gender.length>0)
console.log($(gender).text());
});
لا تنتمي إلى StackOverflow