使用PHP-SimpleXML从youtube播放列表中获取视频ID

时间:2012-04-01 20:30:16

标签: php simplexml youtube-api

我正在使用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;
}

2 个答案:

答案 0 :(得分:1)

这里只是一个疯狂的猜测:你只是输出'标题',但你尝试用'videoid'做其他事情?因为您要添加到$vid数组的不是字符串,而是SimpleXMLElement - 对象。你必须手动投射它们:

$vid['id']= (string) $yt->videoid;

除此之外,您的代码运行正常。

答案 1 :(得分:0)

这将有效:

$yt = $media->children('http://gdata.youtube.com/schemas/2007');
$vid['id']=$yt->videoid;