节点名称中带有冒号的XML节点的XPath查询

问题描述:

什么XPath查询将在以下XML中选择<media:thumbnail />节点?节点名称中带有冒号的XML节点的XPath查询

<item> 
    <title>Sublime Federer crushes Wawrinka</title> 
    <description>Defending champion Roger Federer cruises past Stanislas Wawrinka 6-1 6-3 6-3 to take his place in the Australian Open semi-finals.</description> 
    <link>http://news.bbc.co.uk/go/rss/-/sport2/hi/tennis/9372592.stm</link> 
    <guid isPermaLink="false">http://news.bbc.co.uk/sport1/hi/tennis/9372592.stm</guid> 
    <pubDate>Tue, 25 Jan 2011 04:21:23 GMT</pubDate> 
    <category>Tennis</category> 
    <media:thumbnail width="66" height="49" url="http://news.bbcimg.co.uk/media/images/50933000/jpg/_50933894_011104979-1.jpg"/> 
</item> 

XML来自这个RSS feed

+4

即“用冒号节点”是使用** XML命名空间**(在 node) - 您需要掌握这些内容以及如何处理它们 - 请参阅http:// www。 intertwingly.net/stories/2002/09/09/gentleIntroductionToNamespaces.html – 2011-01-27 14:00:59

+0

你正在使用什么编程语言/系统/环境? – 2011-01-27 14:03:10

您需要了解名称空间以及如何在您的XPath引擎中定义/注册名称空间,以便您可以在该注册名称空间中使用关联的名称前缀。 xpath标签中有很多问题询问如何使用名称空间中的名称 - 并提供了很好的答案。搜索他们。

一个非常粗糙的答案(忽略在所有名称空间)是:

//*[name()='media:thumbnail']