SimpleXML在处理名称空间方面非常糟糕。您有两种选择:最简单的技巧是将提要的内容简单地读入字符串并替换名称空间。
$feed = file_get_contents('http://feeds.bbci.co.uk/news/england/rss.xml');$feed = str_replace('<media:', '<', $feed);$rss = simplexml_load_string($feed);...现在,您可以
thumbnail直接访问元素。
更为优雅(不是真的)的方法是找出名称空间使用的URI。如果您查看http://feeds.bbci.co.uk/news/england/rss.xml的源代码,则会看到它指向
http://search.yahoo.com/mrss/。
现在,您可以在
children()SimpleXMLElement 的方法中使用此URI 来获取media:thumbnail元素的内容;
$rss = simplexml_load_file('http://feeds.bbci.co.uk/news/england/rss.xml');foreach ($rss->channel->item as $item) { $media = $item->children('http://search.yahoo.com/mrss/'); ...}


