"Invalid argument supplied for foreach()" 正在阅读 XML?

"Invalid argument supplied for foreach()" reading XML?

IM 开始:"Invalid argument supplied for foreach()"

在尝试读取 xml

的特定项目时的每一行

PHP:

$urls="http://www.floatrates.com/daily/usd.xml";       

$url= $urls;
$ch = curl_init();  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($ch, CURLOPT_URL, $url);  
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);  
curl_close($ch);  
$feed = new SimpleXMLElement($data,LIBXML_NOCDATA); 


foreach ($feed->channel->item as $item) {
$title       = $item->title;
if (preg_match('/ARS/',$title)) {
    echo $title;
}

}
$urls = "http://www.floatrates.com/daily/usd.xml";
$url = $urls;
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
$feed = new SimpleXMLElement($data, LIBXML_NOCDATA);
foreach ($feed->children() as $item) {
if ("item" == $item->getName()) {
    $title = $item->title;
        if (preg_match('/ARS/', $title)) {
            echo $title;
        }
    }

}

这可能意味着 $feed 不包含您期望它包含的内容,并且您没有将数组传递给 foreach 使用 print_r($feed); 查看它实际包含的内容,然后从那里开始.