2011-09-07 50 views
5

我目前使用以下代碼從REST api檢索信息。試圖獲取非對象SimpleXML的屬性?

$url = "http://api.remix.bestbuy.com/v1/products%28upc=".$upc."%29?apiKey=(API KEY)"; 

$xmlfiledata = file_get_contents("$url"); 

$xmldata = new SimpleXMLElement($xmlfiledata); 

$saleprice = $xmldata->products->product->salePrice; 
echo $saleprice; 

但是,PHP返回這個錯誤。

Notice: Trying to get property of non-object in FILE LOCATION on line 132 

線132:

$saleprice = $xmldata->products->product->salePrice; 

我已經驗證了正在生產的網址是否正確。有問題的xml文件在這裏(爲了簡單起見,我簡化了它)。

<products currentPage="1" totalPages="1" from="1" to="1" total="1" queryTime="0.006" totalTime="0.014" canonicalUrl="/v1/products(upc="635753489873")?apiKey=xr2r8us3dcef7qdjnecbvh6g" partial="false"> 
<product> 
<salePrice>529.99</salePrice> 
</product> 
</products> 

如何解決?

+0

這是一個'Notice',而不是'Error',你可以用'error_reporting(E_ALL^E_NOTICE)'來壓制。 – yoda

回答

4

縱觀examples上PHP.net,我相信你需要做這樣的訪問:

$saleprice = $xmldata->product[0]->salePrice; 

$xmldata實際上是你的「產品」的水平,所以我不認爲你需要...->products->...

+0

爲什麼要投票?請提供更多關於如何使這個答案更可接受的信息。 – afuzzyllama

相關問題