[英]Sum of all sub-elements XML/XSLT
我如何為每個父元素添加所有子元素的所有數字元素?
例子:
<root>
<parent id="1">
<values>
<valuea>1</valuea>
<valueb>2</valueb>
<valuec>3</valuec>
</vlaues>
</parent>
<parent id="2">
<values>
<valuea>1</valuea>
<valuec>3</valuec>
</vlaues>
</parent>
</root>
在通過每個父級生成所有值的總和時,我需要 XSLT。 父項 1 應返回總和 6,父項 2 應返回總和 4。如您所見,每個父項將具有不同數量的值。 我如何寫來簡單地總結值下的每個值,而不管它們的名字?
只需像這樣使用sum()函數:
<xsl:template match="values">
<sum><xsl:copy-of select="sum(*)" /></sum>
</xsl:template>
它創建一個具有所需值的<sum>
元素。
在整個樣式表中,這可能如下所示:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<!-- Identity template -->
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="values">
<sum><xsl:copy-of select="sum(*)" /></sum>
</xsl:template>
</xsl:stylesheet>
它的輸出是
<root>
<parent id="1">
<sum>6</sum>
</parent>
<parent id="2">
<sum>4</sum>
</parent>
</root>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.