2012-04-01 63 views
1

我想提取包含屬性條件爲name="var"XML中的標籤。但我不知道哪個元素得到了這個屬性條件,使我可以使用下面的XQuery:想要在Xquery中使用*條件

<ab> 
    <c name="var"> 
     <d name ="var"> 
      <e> 
      </e> 
     </d> 
     <f> 
     </f> 
    </c> 
</ab> 

的XQuery:

doc('abc.xml')//ab/*[@name="var"] 

我有CLANG它沒有值標籤,但一切產生XML僅作爲屬性存在。

+0

你有問題嗎? – Marcin 2012-04-01 10:28:20

回答

0

當前,您正在選擇abc.xml中的所有元素,它們是名爲<ab>的元素的子元素,並且具有給定的屬性。

當你想和文檔提供我猜你真正想要查詢的頂級元素<ab>中的所有元素,這將被寫成

doc('abc.xml')/ab//*[@name="var"] 

和回報「其中包含XML提取標籤」元素<c><d>及其各自的子節點。

<c name="var"> 
    <d name="var"> 
    <e/> 
    </d> 
    <f/> 
</c> 

<d name="var"> 
    <e/> 
</d> 
0

看起來這一定是一個DUP

doc('abc.xml')//*[@name="var"] 

應該工作,但可能不是特別有效,這取決於你的XQuery處理器。