我需要总结来自不同节点的元素。 我试着写代码的不同变化,但现在看来,我会在这里失去了一些重要的东西。 这里是我的简单的XML文件:
<documents>
<document>
<rows>
<row>
<name>apple</name>
<amount>10</amount>
</row>
<row>
<name>carrot</name>
<amount>10</amount>
</row>
</rows>
<client_name>customer_x</client_name>
</document>
<document>
<rows>
<row>
<name>banana</name>
<amount>20</amount>
</row>
</rows>
<client_name>customer_x</client_name>
</document>
<document>
<rows>
<row>
<name>banana</name>
<amount>50</amount>
</row>
</rows>
<client_name>customer y</client_name>
</document>
</documents>
这里是我当前的代码:
<xsl:for-each select="/documents/document">
<xsl:if test="contains(client_name, 'customer_x')">
<xsl:value-of select="sum(rows/*/amount)"/>
</xsl:if>
</xsl:for-each>
输出是:20 20
但我需要输出,所有这些量值sum'd在一起,最终的结果是在这种情况下40