xml - 如何使用 xpath/xquery 从 rss feed 获取图片 url

标签 xml xpath rss xquery

以下是 RSS feed 的示例:

<item>
<title>Stem cells being made from blood</title>
<description>A patient's own blood has been used to make personalised stem cells, which doctors hope can be used to treat a range of diseases.</description>
<link>http://www.bbc.co.uk/news/health-20539835#sa-ns_mchannel=rss&ns_source=PublicRSS20-sa</link>
<guid isPermaLink="false">http://www.bbc.co.uk/news/health-20539835</guid>
<pubDate>Fri, 30 Nov 2012 00:45:53 GMT</pubDate>
<media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" width="66" height="49" url="http://news.bbcimg.co.uk/media/images/64469000/jpg/_64469170_c0147104-red_blood_cells%2C_artwork-spl.jpg"/>
<media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" width="144" height="81" url="http://news.bbcimg.co.uk/media/images/64469000/jpg/_64469171_c0147104-red_blood_cells%2C_artwork-spl.jpg"/>

我需要获取 media:thumbnail 中 .jpg 图片的 url。 我怎样才能用 xpath 或 xquery 做到这一点? 有人可以帮我吗? 谢谢!

最佳答案

假设您的 XML 是:

<item>
  <title>Stem cells being made from blood</title>
  <description>A patient's own blood has been used to make personalised stem cells, which doctors hope can be used to treat a range of diseases.</description>
  <link>http://www.bbc.co.uk/news/health-20539835#sa-ns_mchannel=rss&amp;ns_source=PublicRSS20-sa</link>
  <guid isPermaLink="false">http://www.bbc.co.uk/news/health-20539835</guid>
  <pubDate>Fri, 30 Nov 2012 00:45:53 GMT</pubDate>
  <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" width="66" height="49" url="http://news.bbcimg.co.uk/media/images/64469000/jpg/_64469170_c0147104-red_blood_cells%2C_artwork-spl.jpg"/>
  <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" width="144" height="81" url="http://news.bbcimg.co.uk/media/images/64469000/jpg/_64469171_c0147104-red_blood_cells%2C_artwork-spl.jpg"/>
</item>

XPath //item/media:thumbnail/@url 选择您想要的节点。在这种情况下,您需要在 XPath 引擎中传递 namespace 和前缀。
或者,您可以使用此 XPath:

//item/*[local-name() = 'thumbnail' 
    and namespace-uri() = 'http://search.yahoo.com/mrss/']/@url

关于xml - 如何使用 xpath/xquery 从 rss feed 获取图片 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13637729/

相关文章:

Java/Android 从xml中获取数组

c# - xsi :schemaLocation 出现问题

java - 如何在 Java 中使用 XPath 从 XML 中获取特定节点?

xml - 为什么隐式规则仍然被处理?

ruby-on-rails - 使用 FeedZirra 解析自定义提要元素

php - RSS 提要 PHP/MySQL

python - 如何在odoo中编写 TreeView 的最大值?

python - 实现自定义 pretty-print 的最佳方法

java - 使用 XPath 查询 oracle 数据库时,如何返回值列表而不是字符串?

python-3.x - 元素树 : selecting right tree?