2011-01-27 15 views
18

次のXMLのどのXPathクエリで<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名前空間を使用して、ノードであること**(= ノード) - それらが何であるか把握する方法を把握する必要があります。http:// www。 intertwingly.net/stories/2002/09/09/gentleIntroductionToNamespaces.html –

+0

どのようなプログラミング言語/システム/環境を使用していますか? –

+0

@marc_s:あなたの迅速な対応に感謝します。私はC++/libxml2を使用しています – Izmoto

答えて

23

ネームスペースについては、について学ぶ必要があります。XPathエンジンでネームスペースを定義/登録する方法については、その登録済みネームスペースの名前に関連するプレフィックスを使用することができます。 xpathタグには、ネームスペースにある名前の使用方法をよく質問しています。それらを検索してください。 (すべてで名前空間を無視して)

非常に粗い答えである:

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

ありがとうございました:-) – Izmoto

+0

@Izmoto:どうぞよろしくお願いします。 –

+0

media:thumbnailにmedia:imageという子要素があった場合、xpathを書き込む方法media:image要素を取得する必要がありました – bkk