2010-04-10 17 views
0

此頁面顯示一個XML文件,並試圖使用simplexml分析數據並打印它。我錯過了什麼?因爲它所做的只是在我運行它時顯示一個空白頁面。試圖解析從一個URL的XML,它不會工作

<?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

也許最好不要在這裏包含您的實際API密鑰... – Amber 2010-04-10 02:33:32

+0

其確定其臨時帳戶 – michael 2010-04-10 02:36:49

回答

0

(不太一個答案,但是......),然後添加一些樣板文字,之後和foreach循環裏面看到哪個位被執行,以及多久循環運行。

+0

什麼是樣板文件? – michael 2010-04-10 02:31:48

+0

@ida,一些固定的內容保證在頁面上可見。 – 2010-04-10 07:40:37

0

<result>不是<rsp>孩子<resultset>

foreach($xml->resultset->result as $value) { 
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指的是什麼。