XPath 1.0 COUNT-唯一值 [英] XPath 1.0 COUNT - Unique values

查看:160
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆