【发布时间】:2012-10-03 02:44:37
【问题描述】:
我正在尝试获取$xml->entry->yt:statistics->attributes()->viewCount 属性,并且我尝试了一些使用 SimpleXML 的东西,但我真的无法让它工作!
尝试 #1
<?php
$xml = simplexml_load_file("http://gdata.youtube.com/feeds/api/videos?author=Google");
echo $xml->entry[0]->yt:statistics['viewCount'];
?>
尝试 #2
<?php
$xml = simplexml_load_file("http://gdata.youtube.com/feeds/api/videos?author=Google");
echo $xml->entry[0]->yt:statistics->attributes()->viewCount;
?>
这两个都返回空白,虽然 SimpleXML 正在工作,但我试图获取提要的标题,结果成功了!
有什么想法吗?
我查看了 SO 和其他网站上的大量其他示例,但不知何故这不起作用? PHP 是否将 ':' 识别为截断,还是我只是在做一些愚蠢的事情?
谢谢,任何回复都非常感谢!
【问题讨论】:
-
“PHP 是否将 ':' 识别为截断,还是我只是在做一些愚蠢的事情?”。不,是的。 :)
yt:statistics是 PHP 语法错误。您不能将它与 SimpleXML 一起使用,也不能在其他任何地方使用它。 SimpleXML 对 XML 名称空间的支持充其量是不稳定的。您应该改用 DOMDocument 和 DOMXPath。阅读php.net/manual/en/domxpath.registernamespace.php 开始。 -
@Tomalak 与 SimpleXML 的大部分内容一样,命名空间支持工作得非常好,但文档很少,因此很难理解。
标签: php simplexml youtube-api