我正在使用SimpleXML和Youtube API从Youtube播放列表中获取一些视频。我设法得到了每个视频的标题,但不知道如何获得视频ID。
如何获取<yt:videoid>
标签?
这就是我目前所得到的:
$xml = simplexml_load_file('http://gdata.youtube.com/feeds/api/playlists/ ID ');
$videos=array();
foreach ($xml->entry as $video) {
$vid = array();
$vid['title'] = $video->title; // <- This Works
$media = $video->children('http://search.yahoo.com/mrss/');
$yt = $media->group->children('http://gdata.youtube.com/schemas/2007');
$vid['id']=$yt->videoid; // <- Not Working
$videos[]=$vid;
}
这里只是一个粗略的猜测:你只是在输出"title",但你试图用"videoid"做其他事情?因为添加到$vid
数组的不是字符串,而是SimpleXMLElement
-对象。你必须手动铸造:
$vid['id']= (string) $yt->videoid;
除此之外,您的代码工作正常。
这将起作用:
$yt = $media->children('http://gdata.youtube.com/schemas/2007');
$vid['id']=$yt->videoid;