2012-02-29 11 views
1

私はこのコードを使ってRSSフィードからイメージをインポートしています。イメージをインポートするためのRSSループが突然途切れます

$source_xml = simplexml_load_file("http://feeds.bbci.co.uk/news/uk/rss.xml"); 
foreach ($source_xml->channel->item as $rss) { 
    $namespace  = "http://search.yahoo.com/mrss/"; 
    $images   = $rss->children($namespace)->thumbnail[1]->attributes(); 
    $image   = $images['url']; 
    echo $image; echo "<br />"; 
} 

コードは機能しているように見えますが、ループのある時点で停止します。ループはRSSフィード全体を決して通過しません。私はそれがなぜ止まるかを調べようとしましたが、私はちょうどどこにも出ていないようです。何か案は?

+0

をすべてのRSSフィードが更新を得るため、サイトが –

答えて

1

私はエラーを得た:

Fatal error: Call to a member function attributes() on a non-object in ...

$rss->children($namespace)->thumbnail[1]->attributes()は、いくつかのラインの空で、あなたは致命的なエラーが発生しました。

これを試してみてください:

$source_xml = simplexml_load_file("http://feeds.bbci.co.uk/news/uk/rss.xml"); 
foreach ($source_xml->channel->item as $rss) { 
    $namespace  = "http://search.yahoo.com/mrss/"; 
    if(!is_object($rss->children($namespace)->thumbnail[1]))continue; 
    $images   = $rss->children($namespace)->thumbnail[1]->attributes(); 
    $image   = $images['url']; 
    echo $image; echo "<br />"; 
} 
+0

はあなたにnarekに感謝いくつかの結果を更新するとき、これは私の命を救いました!ところで、これを尋ねて申し訳ありませんが、どうやって致命的なエラーを見つけましたか? –

+0

@TomiSeusおそらくあなたのエラー報告は0です、foreachの 'error_reporting(E_ALL)'の前に追加してください、それは助けが必要です:) – Narek

関連する問題