如何使用count()函数是XSL - 试图计算报告中“A”的数量

时间:2011-05-23 03:58:03

标签: xml xslt

我正在计算学校报告中A的数量。

以下是报告:

<class>
  <student>
    <first-name>Jane</first-name>
    <last-name>Doe</last-name>
    <grade>A</grade>
  </student>
  <student>
    <first-name>John</first-name>
    <last-name>Smith</last-name>
    <grade>B</grade>
  </student>
  <student>
    <first-name>Harry</first-name>
    <last-name>Grandson</last-name>
    <grade>A</grade>
  </student>
  <student>
    <first-name>Lacy</first-name>
    <last-name>Jones</last-name>
    <grade>C</grade>
  </student>
</class>

如何在报告中获得A的数量?

我想出了:

<xsl:value-of select="count(/class/student/grade)"/>

但这取决于所有事情 - 所以我试图只使用A来获取:

<xsl:value-of select="count(/class/student/grade/A)"/>

但这也不起作用。

我也试过这个:

<xsl:value-of select="count(/class/student[grade=A])"/>

但这也不起作用 - 你们怎么想?

2 个答案:

答案 0 :(得分:28)

<xsl:value-of select="count(/class/student[grade='A'])"/>

答案 1 :(得分:-1)

您还可以使用:

count(/class/student/grade[text()="A"])