2012-12-31 21 views
8

में मैं एक यूआरएलURL से हो रही एक्सएमएल चर

http://api.eve-central.com/api/marketstat?typeid=1230&regionlimit=10000002 

से एक xml फ़ीड प्राप्त करने की कोशिश कर रहा हूँ, लेकिन बुरी तरह नाकाम रहने लगते हैं। मैं

अभी तक इन में से कोई भी एक अच्छा XML फ़ीड गूंज लगते हैं जब मैं या तो echo या print_r। अंत लक्ष्य अंततः इस डेटा को पार्स करना है, लेकिन इसे एक चर में प्राप्त करना निश्चित रूप से एक अच्छी शुरुआत होगी।

मैंने नीचे अपना कोड संलग्न किया है। यह एक पाश के भीतर निहित है और $typeID वास्तव में जैसा कि ऊपर देखा सही आईडी देता है

$url = 'http://api.eve-central.com/api/marketstat?typeid='.$typeID.'&regionlimit=10000002'; 
echo $url."<br />"; 
$xml = new SimpleXMLElement($url); 
print_r($xml); 

मैं जानकारी देनी होगी कि अन्य अजीब बात मैं देख रहा हूँ कि जब मैं $ url गूंज, मैं मिलता है

http://api.eve-central.com/api/marketstat?typeid=1230®ionlimit=10000002 

&reg पंजीकृत ट्रेडमार्क प्रतीक है। मैं अनिश्चित हूं अगर इस "सुविधा" अपने ब्राउज़र में, या एक "सुविधा" मेरी कोड में

+0

आप किस ब्राउज़र का उपयोग कर रहे हैं? मैं पूछता हूं क्योंकि मैं केवल पंजीकृत ट्रेडमार्क प्रतीक के साथ (साइड-इश्यू) के बारे में सोच रहा हूं। – hakre

उत्तर

9

प्रयास करें है निम्नलिखित:

<?php 
$typeID = 1230; 
// set feed URL 
$url = 'http://api.eve-central.com/api/marketstat?typeid='.$typeID.'&regionlimit=10000002'; 
echo $url."<br />"; 
// read feed into SimpleXML object 
$sxml = simplexml_load_file($url); 

// then you can do 
var_dump($sxml); 

// And now you'll be able to call `$sxml->marketstat->type->buy->volume` as well as other properties. 
echo $sxml->marketstat->type->buy->volume; 

// And if you want to fetch multiple IDs: 
foreach($sxml->marketstat->type as $type){ 
    echo $type->buy->volume . "<br>"; 
} 
?> 
+0

मैंने '$ वॉल्यूम = $ sxml-> buy-> वॉल्यूम का प्रयास किया; $ वॉल्यूम echo 'हालांकि कुछ भी वापस नहीं किया गया था, कोई विचार क्यों? – mhopkins321

+0

ahhhh बाज़ारस्टैट – mhopkins321

+0

@ mhopkins321 पहले सुनिश्चित करें कि '$ typeID' परिभाषित किया गया है, और दूसरा आपको कॉल करना चाहिए:' $ sxml-> marketstat-> type-> buy-> वॉल्यूम' (उत्तर तय) – alfasin

4

आपको एक बनाने के लिए यूआरएल से डेटा लाने की जरूरत है एक्सएमएल ऑब्जेक्ट।

$url = 'http://api.eve-central.com/api/marketstat?typeid='.$typeID.'&regionlimit=10000002'; 

$xml = new SimpleXMLElement(file_get_contents($url)); 

// pre tags to format nicely 
echo '<pre>'; 
print_r($xml); 
echo '</pre>'; 
+0

यह कुछ डेटा देता है जो मैं काफी परिचित नहीं हूं (हालांकि यह शायद वास्तव में कच्चे एक्सएमएल जैसा दिखता है?)। अगर नोड को $ xml-> sell-> औसत पर कॉल करना चाहता था। मैं अपना चर क्या सेट करूं? मैंने '$ sell = $ xml-> sell-> औसत' का प्रयास किया हालांकि यह – mhopkins321

+0

काम नहीं कर रहा था, क्षमा करें,' var_dump' को 'print_r' में बदलना आपको एक और दोस्ताना परिणाम देगा। बिक्री औसत तक पहुंचने के लिए, आप '$ xml-> marketstat-> type-> sell-> औसत' करना चाहते हैं – Supericy

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