2011-09-07 12 views
5

मैं वर्तमान में एक आरईएसटी एपीआई से जानकारी प्राप्त करने के लिए निम्न कोड का उपयोग कर रहा हूं।गैर-ऑब्जेक्ट 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; 

मैं सत्यापित किया है कि यूआरएल उत्पादन किया जा रहा सही है। प्रश्न में एक्सएमएल दस्तावेज़ यहां है (मैंने सादगी के लिए इसे सरल बना दिया है)।

<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

यह 'सूचना' है, न कि 'त्रुटि', जिसे आप 'error_reporting (E_ALL^​​E_NOTICE)' दबाकर दबा सकते हैं। – yoda

उत्तर

4

PHP.net पर examples को देखते हुए, मुझे विश्वास है कि आप इस तरह का उपयोग करने की जरूरत है चाहता हूँ:

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

$xmldata वास्तव में अपने "उत्पाद" स्तर है, इसलिए मुझे नहीं लगता कि आप की क्या ज़रूरत है ...->products->...

+0

नीचे वोट क्यों? इस उत्तर को और अधिक स्वीकार्य बनाने के तरीके के बारे में अधिक जानकारी प्रदान करें। – afuzzyllama

संबंधित मुद्दे

 संबंधित मुद्दे