0

我有一个调查,其结果具有以下格式

<xml><z:row ID="1" ows_Q1="Yes" ows_Q2="No"
                   ows_Q3="Yes" ows_Q4="Yes" ows_Q5="No" />
</xml>

属性名称ows_Q1ows_Q2是实际问题,因此这些是动态的。根据调查中的问题数量,可以有任意数量的此类属性。我需要根据提供给用户的是/否答案来计算结果,并显示用户响应的摘要。例如,对于上述调查结果摘要将是:

  • 是:3
  • 没有:2

有没有办法根据属性值来统计属性的数量?我尝试了下面的 xpath 语法来计算 Yes 响应的数量,但它返回计数为 1。这是返回节点数但不返回属性:

count(//row[@*="Yes"])
4

1 回答 1

0

我想我找到了解决方案

count(//row/@*[.="Yes"])

这将返回给定值的属性数。

于 2013-06-14T15:53:09.860 回答