计算具有特定值的属性数

时间:2013-06-13 22:46:35

标签: xpath-2.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
  • No:2

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

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

1 个答案:

答案 0 :(得分:0)

我想我找到了解决方案

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

返回给定值的属性数。