在简单 XML 中导航命名空间前缀节点
访问包含前缀命名空间(如 media:thumbnail 或 flickr:profile)的元素RSS feed,Simple XML 提供了一种绕过复杂 DOM 需求的方法
使用 Children() 访问命名空间元素
children() 方法采用命名空间 URI 作为其参数,并返回一个迭代器,该迭代器生成表示元素的对象在指定的命名空间内。例如:
$feed = simplexml_load_file('http://www.sitepoint.com/recent.rdf'); foreach ($feed->item as $item) { $ns_dc = $item->children('http://purl.org/dc/elements/1.1/'); echo $ns_dc->date; }
在此代码段中,$ns_dc 成为属于命名空间 http://purl.org/dc/elements/1.1/ 的每个项目的子元素的迭代器。这允许您访问 DC 命名空间内的日期元素。
将此解决方案应用于您的 Flickr Feed
检索 Flickr RSS feed 中每个项目的缩略图,您可以使用以下代码:
$feed = simplexml_load_file('http://example.com/flickr.rss'); foreach ($feed->item as $item) { $ns_media = $item->children('http://search.yahoo.com/mrss/'); echo $ns_media->thumbnail->attributes()->url; }
这将输出中每个项目的缩略图的 URL喂食。
以上是如何轻松访问简单 XML 中的命名空间前缀元素?的详细内容。更多信息请关注PHP中文网其他相关文章!