用于导入图像的RSS循环突然中断


RSS loop for importing images suddenly breaks down

我使用此代码从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提要。我试着找出它为什么停了下来,但我似乎什么也没找到。有什么想法吗?

我得到错误:

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 />";
}