0

我有这个测试 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 但我无法计算 UNIQUE 值的数量y,例如,如果我在需要结果之前对描述的示例 XML 运行查询4

4

1 回答 1

3

如果您只需要使用 XPath(而不是 XSLT 或类似性质的东西),那么我认为这是您能做的最好的事情:

所有不同的y值:

//y[not(. = preceding::y)]

不同y值的数量:

count(//y[not(. = preceding::y)])
于 2014-08-28T12:58:48.847 回答