XPath 1.0 COUNT-唯一值 [英] XPath 1.0 COUNT - Unique values
本文介绍了XPath 1.0 COUNT-唯一值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个测试XML:
<test>
<x a="1">
<x a="2">
<x>
<y>y31</y>
<y>y32</y>
</x>
</x>
</x>
<x a="1">
<x a="2">
<y>y31</y>
<y>y32</y>
</x>
</x>
<x a="1">
<y>y11</y>
<y>y12</y>
</x>
<x>
<y>y11</y>
<y>y11</y>
</x>
</test>
如何查询:
1-y的所有值
y32, y32, y11, y12
2-y的值数
我正在尝试使用COUNT,但我无法计算y
拥有的唯一值的数量,例如,如果我对描述的示例XML进行查询,则需要将结果设为4
.
I'm trying to use COUNT but I can't count the number of UNIQUE values y
has, for example if I run query against sample XML described before I need the result to be 4
.
推荐答案
如果您要使用的只是XPath(而不是XSLT或类似性质的东西),那么我认为这是您可以做的最好的事情:
If all you've got to work with is XPath (and not XSLT or something of that nature), then I think this is the best you can do:
所有不同的y
值:
//y[not(. = preceding::y)]
不同的y
值的数量:
count(//y[not(. = preceding::y)])
这篇关于XPath 1.0 COUNT-唯一值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文