2016-03-28 74 views
0

我解析這個飼料:http://www.kingola.com/feed/podcast/JQuery的解析飼料的getElementsByTagName

var feedParser = $('<div/>'); 
var url = 'http://www.kingola.com/feed/podcast/'; 

$.ajax({ 
    url: url, 
    dataType: "json", 
    cache: false 
}).done(function(result) { 

    feedParser.html(d.contents); 
    var arr = feedParser[0].getElementsByTagName('item'), i, len = arr.length, entry, obj; 

    for(i=0; i < len; i++){ 
     entry = arr[i]; 
     obj = {}; 

     if(typeof entry.getElementsByTagName('title')[0] !== 'undefined'){ 
      obj.title = entry.getElementsByTagName('title')[0].childNodes[0].nodeValue; 
     } 
     if(typeof entry.getElementsByTagName('link')[0] !== 'undefined'){ 
      obj.link= entry.getElementsByTagName('link')[0].childNodes[0].nodeValue; 
     } 

     finishData.push(obj); 

    } 

}).fail(function(jqXHR, textStatus, errorThrown) { 

}); 

的問題是,它獲得了冠軍,但對於鏈接我得到了一個未定義在此:

entry.getElementsByTagName('link')[0].childNodes[0].nodeValue 

的命令是與標題相同。

這是怎麼回事,以及如何解決它?

entry.getElementsByTagName('link')[0] returns <link> 
entry.getElementsByTagName('link')[0].childNodes  returns {} 
entry.getElementsByTagName('link')[0].childNodes[0]  retruns undefined 

回答

0

嘗試使用jquery獲取元素值

var lName = $('#linkName')。text();

+0

我不明白。 1.我如何將此代碼應用於上面的示例? 2.上面的Feed中沒有'linkName'節點,因爲我可以看到。 – Toniq