Как добавить значения из нескольких узлов из XSLT? - PullRequest
0 голосов
/ 17 января 2011

Скажите, если у меня есть документ XML как:

<nutrition>
<food>
<value>2</value>
</food>
<food>
<value>4</value>
</food>
</nutrition>

Тогда как мне добавить два значения, используя XSLT, например, 2 + 4?

Я пробовал использовать функцию суммирования в XSLT, но она не работает во внутренних тегах.

Ответы [ 2 ]

3 голосов
/ 17 января 2011
<xsl:template match="/">
   <xsl:value-of select='sum(nutrition/food/value)'/>
</xsl:template>
0 голосов
/ 17 января 2011

Тогда как мне добавить два значения, используя XSLT, как 2 + 4?

Используйте

/*/food[1]/value + /*/food[2]/value

Я пробовал функцию суммы в XSLT, но это не работает во внутренних тегах

Вам не нужна функция sum(), чтобы сложить только два числа. Когда число элементов food в документе XML, имеющем формат предоставленного документа XML, велико, использует :

sum(/*/food/value)

Это очень простой вопрос XPath - вы должны познакомиться хотя бы с основами XPath и XSLT с помощью краткого учебника или более серьезной книги. См. this для списка таких учебных пособий / книг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...