从XML获取viewCount

时间:2013-06-18 22:27:50

标签: php xml youtube-api simplexml xml-namespaces

我目前正在使用YouTube API表单Google,我正在尝试获取“viewCount”数组。我已经尝试过了,没有运气。 Here是我目前正在使用的链接。

我以前试过这个,没有运气。

$url = 'http://gdata.youtube.com/feeds/api/users/gudjondaniel/uploads?max-results=1';
$source = file_get_contents($url); 
$xml    = new SimpleXMLElement($source);
$title  = $xml->entry->viewCount;

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

对于其他人:OP希望访问<yt:statistics favoriteCount="0" viewCount="301" />的孩子<entry> node节点。

试试这个(xpath):

$file = simplexml_load_file('http://gdata.youtube.com/feeds/api/users/gudjondaniel/uploads?max-results=1');
var_dump($file->xpath('//yt:statistics'));

你会看到:

array(1) {
  [0] =>
  class SimpleXMLElement#13 (1) {
    public $@attributes =>
    array(2) {
      'favoriteCount' =>
      string(1) "0"
      'viewCount' =>
      string(3) "301"
    }
  }
}

编辑:

最终代码如下所示:

$file = simplexml_load_file('http://gdata.youtube.com/feeds/api/users/gudjondaniel/uploads?max-results=1');
$xpath = $file->xpath('//yt:statistics');
$attrs = $xpath[0]->attributes();
echo (string) $attrs->viewCount;

顺便说一下,SimpleXMLElement是一个乱码的PHP工具 - 正如你所看到的那样 - 几乎不可能访问像<yt:statistics>这样的元素。其他平台使用xpath作为标准。