2013-03-20 99 views
0

我有一个Youtube视频ID,我想获得这个ID的视频标题。我收到了包含标题的XML Feed,但我不确定如何提取它。JavaScript - 阅读XML文档

Sample of XML output

$.ajax({ 
    url: 'http://gdata.youtube.com/feeds/api/videos/' + videoId 
}).done(function (data) { 
    console.log(data.title); //does not work 
    console.log(data.entry.title); //does not work 
}); 
+0

您正在寻找'data.getElementsByTagName(“title”)[0]'?它是XML! – Bergi 2013-03-20 22:04:54

+0

@Bergi当我去'console.log(data.getElementsByTagName(“title”)[0])'时,我注意到了,输出是' TITLE OF VIDEO'。是否有可能删除标题标签? – Jon 2013-03-20 22:10:39

+0

@Bergi为什么我不能用XML做'data.title'?我会在哪里使用'data.title'? – Jon 2013-03-20 22:13:27

回答

4

的jQuery不会自动转换XML到JSON你。只需使用jQuery将XML文档视为DOM树。

$(function() { 
    $.ajax({ 
     url: 'http://gdata.youtube.com/feeds/api/videos/vnUwxDhE1kU', 
     dataType: 'xml' 
    }).done(function (data) { 
     console.log('done', $(data).find('entry > title').text()); 
    }); 
}); 
+0

很好,工作。谢谢 :) – Jon 2013-03-20 22:12:40

0

你在data参数中得到的是一个XML文档。 JQuery还将帮助您以更简单的方式获得所需的信息。以下代码有效:

$.ajax({ 
    url: 'http://gdata.youtube.com/feeds/api/videos/vnUwxDhE1kU' 
}).done(function (data) { 
    var $xml = $(data); 
    console.log($xml.find('title').text()); 
}); 

请参阅此链接:http://tech.pro/tutorial/877/xml-parsing-with-jquery了解更多详情。