Пытаетесь получить свойство необъектного SimpleXML? - PullRequest
5 голосов
/ 07 сентября 2011

В настоящее время я использую следующий код для получения информации из API REST.

$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;

Я убедился, что создаваемый URL-адрес правильный.Здесь обсуждается 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>

Как исправить?

1 Ответ

4 голосов
/ 08 сентября 2011

Глядя на примеры на PHP.net, я полагаю, что вам нужно сделать такой доступ:

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

$xmldata на самом деле ваш уровень "продуктов", поэтому я не думаю, что вам нужно ...->products->...

...