javascript - 从YouTube播放列表XML提取数据

标签 javascript jquery xml json youtube

我是JavaScript和YouTube API的新手

我正在尝试从xml文件访问一些数据。这是从YouTube播放列表生成的原子文件。我希望能够提取列表中每个视频的缩略图,视频ID和描述。

这是我拼凑的一些js:

$.get("playlist.xml", function(xml){
var videos = $.xml2json(xml);
alert(videos.entry[0].title);
console.log(videos);    
});

playlist.xml包含通过调用生成的文件:
https://gdata.youtube.com/feeds/api/playlists/playlistid?v=2

其中playlistid是有效的播放列表ID。

该文件包含所有预期的xml,并使用以下行将其转换为json(通过JQuery XML转换为JSON插件):
var videos = $.xml2json(xml);

顶部的代码为我提供了预期的输出,即:播放列表中第一个视频的标题。

当我尝试访问其他数据时,会出现我的问题。例如,缩略图可以在xml中找到:
entry[].media:group.media:thumbnail[]

看来,转换为json后,“:”会转换为“$”,但是尝试以下两种方法时都会出现错误错误:
    $.get("playlist.xml", function(xml){
var videos = $.xml2json(xml);
alert(videos.entry[0].media:group.media:thumbnail[0]);
console.log(videos);    
});

要么:
    $.get("playlist.xml", function(xml){
var videos = $.xml2json(xml);
alert(videos.entry[0].media$group.media$thumbnail[0]);
console.log(videos);    
});

错误是以下内容的变体:
TypeError: videos.entry[0].media$group is undefined

我觉得我不太了解基本的内容,但是对于我的一生,我不知道它是什么。

这是一个示例播放列表xml文件,如果有帮助的话:
https://gdata.youtube.com/feeds/api/playlists/PLjyIfAzy9xVUWYcLK54OPd1lDXzMROK_5?v=2

最佳答案

为什么不首先将提要作为JSON获取(URL末尾的&alt=json)?

https://gdata.youtube.com/feeds/api/playlists/PLjyIfAzy9xVUWYcLK54OPd1lDXzMROK_5?v=2&alt=json

您还可以添加callback参数,并将该JSON请求转换为JSONP,从而可以使用纯客户端JavaScript发送该请求。

关于javascript - 从YouTube播放列表XML提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16248274/

相关文章:

c# - Xml InnerXml 缩进问题

javascript - 在 Javascript 中将整数添加为字符串

javascript - 由于某种原因,reCaptcha 呈现在最右下角

javascript - 使用正则表达式使用 JavaScript 提取特定字符串

jquery - SignalR MVC 5 Websocket 没有有效的凭据

jquery - 如何使用 jQuery 加载将 .txt 文件中的内容显示到 div 中?

java - 如何在 AppCompatButton 旋转时更改其背景?

Javascript,如何保存由javascript更改的图像

jquery - 使用jquery在点击时将html输入框添加到div

java - 将 XML 转换为嵌套 map 的 Map