8

我正在尝试从 url 获取 xml 提要

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

但似乎失败得很惨。我试过了

然而,当我使用echoprint_r. 最终目标是最终解析这些数据,但将其放入变量中肯定是一个不错的开始。

我在下面附上了我的代码。这包含在一个循环$typeID中,实际上确实给出了正确的 ID,如上所示

$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注册商标符号。我不确定这是我的浏览器中的“功能”,还是我的代码中的“功能”

4

2 回答 2

10

尝试以下操作:

<?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>";
}
?>
于 2012-12-31T20:53:41.867 回答
4

您需要从 URL 中获取数据以创建 XML 对象。

$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>';
于 2012-12-31T20:57:23.400 回答