-2

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

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

$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;

任何帮助是极大的赞赏。

4

1 回答 1

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 作为标准。

于 2013-06-18T22:45:11.597 回答