我想在XML
中提取包含属性条件name="var"
的标签。但我不知道哪个元素有这个属性条件所以我可以使用以下XQuery:
<ab>
<c name="var">
<d name ="var">
<e>
</e>
</d>
<f>
</f>
</c>
</ab>
XQuery:
doc('abc.xml')//ab/*[@name="var"]
我XML
生成的CLANG
没有标记值,但所有内容都只作为属性存在。
答案 0 :(得分:0)
您当前正在选择abc.xml
中所有元素,这些元素是名为<ab>
的元素的子元素,并且具有给定的属性。
如您所愿“提取包含XML的XML标签”和提供的文档,我猜您实际上想要查询顶级元素<ab>
中的所有元素,这些元素将被写为
doc('abc.xml')/ab//*[@name="var"]
并返回元素<c>
和<d>
及其各自的子节点。
<c name="var">
<d name="var">
<e/>
</d>
<f/>
</c>
<d name="var">
<e/>
</d>
答案 1 :(得分:0)
似乎这必须是重复
doc('abc.xml')//*[@name="var"]
应该可以工作,但可能效率不高,具体取决于您的XQuery处理器。