2012-02-29 42 views
1

我正在使用此代碼從rss新聞Feed導入圖像。用於導入圖像的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 feed。我試圖找出它爲什麼停止,但我似乎沒有得到任何地方。有任何想法嗎?

+0

,因爲每一個RSS提要獲取更新時,該網站更新了一些成果 – 2012-02-29 11:00:04

回答

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,這救了我的命!順便說一句:抱歉問這個問題,但你是如何找到致命錯誤的? – 2012-02-29 11:42:29

+0

@TomiSeus可能你的錯誤報告是0,在foreach之前添加'error_reporting(E_ALL)',它需要幫助:) – Narek 2012-02-29 11:45:18