Как использовать функцию count () в XSL - пытается подсчитать количество «A» в отчете - PullRequest
17 голосов
/ 23 мая 2011

Я пытаюсь подсчитать количество 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 ]

28 голосов
/ 23 мая 2011
<xsl:value-of select="count(/class/student[grade='A'])"/>
0 голосов
/ 20 мая 2019

Вы также можете использовать:

count(/class/student/grade[text()="A"])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...