8

URLからxmlフィードを取得しようとしています

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

しかし、惨めに失敗しているようです。私が試してみました

echoそれでも、私がまたはのどちらかを行った場合、これらのいずれも優れたXMLフィードをエコーし​​ないようですprint_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

XML オブジェクトを作成するには、URL からデータをフェッチする必要があります。

$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 に答える