如何使用php访问flickr RSS feed中的子标签?
问题描述:
我从我的flickr RSS提要中获取信息,并遇到了路障。诸如图片网址和标题 之类的内容都是简单的<Title>
和<Link>
标签。而且我让他们这样如何使用php访问flickr RSS feed中的子标签?
if($item['title'] !== "")
$title = htmlspecialchars(stripslashes($item['title']));
else
$title = $settings['default_title'];
$url = $item['link'];
但在Flickr的RSS提要标签和说明都是这样
<media:category scheme="urn:flickr:tags">coffee coding</media:category>
<media:description type="html"> <p>even coffee isn't helping with coding today<br /> :(</p> </media:description>
如何访问这些标记输出?我曾尝试
$tag = $item['media_category'];
$desc = $item['media_description'];
而且
$tag = $item['media:category'];
$desc = $item['media:description'];
似乎都没有工作?
答
要使用SimpleXML访问XML命名空间的元素,试试这个:
// Load namespaces
$namespaces = $item->getNamespaces(TRUE);
// Get media namespace
$media = $entry->children($namespaces['media']);
echo $media->category;
echo $media->description;
你是如何加载RSS? SimpleXML的? DOM文档? – 2011-06-09 17:50:23
我只是加载简单的XML – 2011-06-09 17:59:14
可能重复[解析XML与名称空间使用SimpleXML](http://stackoverflow.com/questions/595946/parse-xml-with-namespace-using-simplexml)你可能也想看看在[this](http://devzone.zend.com/node/view/id/688#Heading3) – Wrikken 2011-06-09 18:06:12