我正在尝试从网址
获取xml Feedhttp://api.eve-central.com/api/marketstat?typeid=1230®ionlimit=10000002
但似乎失败了。我试过了
http_get
然而,当我echo
或print_r
时,这些似乎都没有回应好的XML Feed。最终目标是最终解析这些数据,但将其变为变量肯定是一个不错的开始。
我已在下面附上我的代码。这包含在一个循环中,$typeID
确实提供了正确的ID,如上所示
$url = 'http://api.eve-central.com/api/marketstat?typeid='.$typeID.'®ionlimit=10000002';
echo $url."<br />";
$xml = new SimpleXMLElement($url);
print_r($xml);
我应该声明我看到的另一个奇怪的事情是,当我回复$ url时,我得到了
http://api.eve-central.com/api/marketstat?typeid=1230®ionlimit=10000002
®
是注册商标符号。我不确定这是我浏览器中的“功能”,还是我代码中的“功能”
答案 0 :(得分:10)
尝试以下方法:
<?php
$typeID = 1230;
// set feed URL
$url = 'http://api.eve-central.com/api/marketstat?typeid='.$typeID.'®ionlimit=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>";
}
?>
答案 1 :(得分:4)
您需要从URL获取数据才能生成XML对象。
$url = 'http://api.eve-central.com/api/marketstat?typeid='.$typeID.'®ionlimit=10000002';
$xml = new SimpleXMLElement(file_get_contents($url));
// pre tags to format nicely
echo '<pre>';
print_r($xml);
echo '</pre>';