2012-04-01 69 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处理器。