此页面显示了一个xml文件,我试图使用simplexml来解析数据并打印出来。我错过了什么?因为我在运行它时会显示一个空白页面。
<?php
$url = "http://api.scribd.com/api?method=docs.getList&api_key=somestring";
$xml = new SimpleXMLElement($url,NULL,true);
foreach($xml -> result as $value) {
echo $value->doc_id."<br/>";
echo $value->access_key."<br/>";
echo $value->secret_password."<br/>";
echo $value->title."<br/>";
}
?>
答案 0 :(得分:0)
(不是一个答案,但是......)在foreach循环之前,之后和之内添加一些样板文本,以查看正在执行的位以及循环运行的频率。
答案 1 :(得分:0)
<result>
不是<rsp>
的孩子,而是<resultset>
foreach($xml->resultset->result as $value) {
答案 2 :(得分:0)
您应该始终在它们代表的节点之后命名您的PHP变量。在您的情况下,根节点为<rsp/>
,因此保存根节点的变量应为$rsp
。这样,您可以轻松识别出尝试访问<result/>
节点的方式存在错误:
$rsp = simplexml_load_file($url);
foreach ($rsp->resultset->result as $result)
{
echo $result->doc_id, "<br/>\n";
}
在那里,不再含糊不清。
<rsp>
<resultset>
<result />
</resultset>
</rsp>
PHP:
$rsp->resultset->result
XPath:
/rsp/resultset/result
以后对$value
所指的内容一无所知。