提取数据我是一个JavaScript和YouTube API初学者从YouTube播放列表XML
我试图从XML文件访问某些数据。这是从YouTube播放列表生成的原子文件。我希望能够提取列表中每个视频的缩略图,视频和描述。
下面是一些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);
在上面的代码给了我预期的输出,即:在播放列表中第一个视频的标题。
当我尝试访问其他数据段时,出现了问题。
entry[].media:group.media:thumbnail[]
看来,转换成JSON之后,“::”缩略图,例如,在XML发现这里被转换为“$”,但我得到的错误错误,当我尝试两种:
$.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
不知道为什么,但是这是工作:\t $ .getJSON(jsonFileUrl,function(response){ \t alert(“Data:”+ response.feed.entry [0] .media $ group.media $ description。$ t); }); – 2013-04-27 15:23:25
我没有深入JSON,特别是我忘记了$ t。此外,由于某些原因,我尝试了几次,似乎并不喜欢使用这些$的。现在,一切都很好,它按我的意愿工作。 – 2013-04-29 02:48:20