В настоящее время я использую следующий код для извлечения информации из REST api.
$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>
Как исправить?
Если посмотреть на примеры на PHP.net, я считаю, что вам нужно сделать такой доступ:
$saleprice = $xmldata->product[0]->salePrice;
$xmldata
на самом деле является вашим уровнем «продуктов», поэтому я не думаю, что вам нужно ...->products->...