2012-06-08 3 views
0

를 작동하지 않는 특정 XML을 얻는 것은 이제 나는이 같은 XML 있다고 가정 해 봅시다 : 나는 trackname을 얻으려고하고 제대로 동작하지 않습니다 http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=b25b959554ed76058ac220b7b2e0a026&track=Just%20for%20Me&artist=Hinoi%20TeamjQuery를

:

$.ajax({ 
     type: "GET", 
     url: "http://ws.audioscrobbler.com/2.0/?method=track.getInfo&api_key=b25b959554ed76058ac220b7b2e0a026&track="+yourTrack+"&artist="+yourArtist, 
     dataType: "xml", 
     success: function(xml) { 
      $(".loading").css("display", "none"); 
      $(xml).find('track').each(function(){ 
       var id = $(this).find('id').text(); 
       console.log("Success!"); 

       var song = $(this).find('track > name').text(); 
       var name = $(this).find('artist name').text(); 
       var album = $(this).find('album title').text(); 

       $("#more").append("\nSong: " + song); 
       $("#more").append("\nArtist: " + name); 
       $("#more").append("\nAlbum: " + album); 

       $("#more").append("\n\nlast.fm ID: " + id); 

      }); 
     } 
    }); 
: 나는이 작업을 수행

이고 결과는 다음과 같습니다.

Song: 
Artist: Hinoi Team 
Album: Super Euro Party 

last.fm ID: 43135480 

Help?

답변

1

이 라인 셀렉터 바로 아니다 :

var song = $(this).find('track > name').text(); 

$(this)<track> 원소이다. 당신이 필요로하지 않는 또 다른 <track> 요소를 내부에서 찾고 있습니다. <name>을 찾고 있으므로 대신 다음을 사용하십시오.

var song = $('> name', this).text(); 
+0

아, 알 수 있습니다. 그러나 오늘 당신이 제안한 바를 시도해 보았습니다.'var song = $ ('name', this) .text(); 그리고 나는 그냥 'MEHinoi Teameurobeatjpopj-popgreat songsjapanese pop'을 받았습니다. 이 XML 트리에는 하나의 ''이상이 있기 때문입니다. – nn2

+0

알았어요. 내 편집을 참조하십시오. – Blender

+0

감사합니다. 'album'>'image = "big"'으로 같은 것을 할 수 있을까요? – nn2