2011-09-07 14 views
5

Actualmente estoy usando el siguiente código para recuperar información de una API REST.¿Intenta obtener la propiedad de SimpleXML no objeto?

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

Sin embargo, PHP está devolviendo este error.

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

línea 132 es:

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

He verificado que el URL que se produce es la correcta. El documento XML en cuestión está aquí (lo simplifiqué por simplicidad).

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

¿Cómo corregir?

+0

Eso es un 'Aviso', no un' Error', que puede suprimir con 'error_reporting (E_ALL^​​E_NOTICE)'. – yoda

Respuesta

4

Mirando el examples en PHP.net, creo que lo que se necesita para hacer el acceso de la siguiente manera:

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

$xmldata es en realidad su nivel de "productos", así que no creo que se necesita ...->products->...

+0

¿Por qué votar abajo? Proporcione más información sobre cómo hacer que esta respuesta sea más aceptable. – afuzzyllama

Cuestiones relacionadas