这个一个非常难住了。 在PHP中,我取回YouTube用户的西元饲料和试图访问节点,就像这样:
$url = 'http://gdata.youtube.com/feeds/api/users/HCAFCOfficial/uploads';
$xml = simplexml_load_file($url);
到目前为止,一切都很好。 很基本的东西。 我可以看到通过运行数据回来:
echo '<p>Found '.count($xml->xpath('*')).' nodes.</p>'; //41
echo '<textarea>';print_r($xml);echo '</textarea>';
无论打印什么,我所期望的,和print_r
复制XML结构。
但是,我不知道这是为什么返回零:
echo '<p>Found '.count($xml->xpath('entry')).'"entry" nodes.</p>';
有明目张胆的 entry
在XML节点。 这是通过运行证实:
foreach($xml->xpath('*') as $node) echo '<p>['.$node->getName().']</p>';
...其中妥输出“[条目]” 25次。 因此,也许这是SimpleXML中的错误吗? 这是一个更广泛的饲料缓存系统的一部分,我并没有与其他非YT饲料,只有那些YT任何麻烦。
[UPDATE]
这个问题表明,它的作品,如果你这样做
count($xml->entry)
但我很好奇,为什么count($xml->xpath('entry'))
不也行...
[更新2]
我可以高兴地遍历YT的anternate饲料格式就好了:
http://gdata.youtube.com/feeds/base/users/{user id}/uploads?alt=rss&v=2