2016-03-28 63 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