2014-01-15 114 views
0

我想用php解析这个page。我写了这个代码,但它给了我一个错误 - ()的foreach为无效的论点提供用php解析xml文件时出错

$opts = array('http' => array('header' => 'Accept-Charset: UTF-8, *;q=0')); 
    $context = stream_context_create($opts); 
    $data = file_get_contents('http://cbr.ru/scripts/XML_daily.asp',false, $context); 
    $xml = simplexml_load_string($data); 
    foreach($xml->valcurs->valute as $val){ 
     echo "<p>".$val->attributes()->numcode."</p>"; 
    } 
+0

'var_dump($ xml-> valcurs-> valute)' - 发布结果 – Oxymoron

+0

@Oxymoron'null' – Rulisp

+0

@Rulisp您已检查过您$ xml'包含数据,对不对? – NewInTheBusiness

回答

2

试试这个

foreach($xml->Valute as $val){ 
    echo "<p>".$val->NumCode."</p>"; 
} 
+1

经过测试,工作就像一个魅力! Goodluck @Rulisp – Oxymoron

+0

谢谢,它的工作原理。 – Rulisp

0

可能是头,那么:

$opts = stream_context_create(array('http' => array('header' => 'Accept: 
application/xml'))); 

还是觉得你不应该抢属性()虽然:

foreach($xml->ValCurs->Valute as $val) { 
    echo "<p>".$val->NumCode."</p>"; 
} 
+0

相同的错误 - 为foreach()提供的无效参数。 – Rulisp

+0

simplexml不区分大小写。 – Oxymoron