2011-01-27 4 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

그건 = "2.0"xmlns : media = "http://search.yahoo.com/mrss/"> 노드) - 그 노드가 무엇인지, 어떻게 다루는 지 파악해야합니다. 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

@ 이즈모토 : 천만에요. –

+0

media : thumbnail에 media : image가있는 자식 요소가있는 경우 xpath를 쓰는 방법 media : image 요소를 가져와야 함 – bkk