试图从URL解析xml,它不会工作

时间:2010-04-10 02:26:35

标签: php xml

此页面显示了一个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/>";



}

?>

3 个答案:

答案 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所指的内容一无所知。