我想在codeigniter中使用curl读取xml数据。我创建了一个帮助文件,它将从以下url:http://www.ekidata.jp/api/l/11302.xml读取数据,但问题是我无法从此URL读取数据。请帮助 这是我的帮助文件结构:
if (!function_exists('ekidata')) {
function ekidata($type, $code)
{
$apiurl = 'http://www.ekidata.jp/api/'.$type.'/'.$code.'.xml';
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $apiurl);
$response = curl_exec($ch);
curl_close($ch);
$xml = simplexml_load_string($response);
if ($type == 'l') {
return $xml;
} else {
}
}
}
这是我的控制器:
function ekidatatest()
{
$this->load->view('ekidatatest');
}
以下是我的观点:
<?php echo ekidata('l', 11302);?>
答案 0 :(得分:0)
我已经测试了你的代码并且它工作正常,我看到的唯一问题是你试着回显一个对象(返回的XML变量),试试:
print_r (ekidata('l', 11302));
并且您应该看到文件中的所有xml对象,然后您可以循环访问该对象并获取所需的数据。所以,如果你想要第一个电台名称,你可以这样得到它:
$r = ekidata('l', 11302);
echo $r->station[0]->station_name;
并循环播放所有电台:
foreach($r->station as $station) {
echo $station->station_name.'<br/>';
}