如何使用codeigniter读取Xml数据?

时间:2014-12-14 05:41:39

标签: php xml codeigniter curl codeigniter-2

我想在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);?>

1 个答案:

答案 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/>';

 }