我需要将两个节点中的每一个相乘并找到总和,例如quantity * perUnit
并查找所有产品的总和。
怎么可能呢?
<Products>
<Product>
<name>TestProduct</name>
<quantity>3</quantity>
<perUnit>14.88</perUnit>
</Product>
<Product>
<name>Another Product</name>
<quantity>1</quantity>
<perUnit>2.45</perUnit>
</Product>
<Product>
<name>One more product</name>
<quantity>2</quantity>
<perUnit>4.71</perUnit>
</Product>
</Products>
我试着这样做:
<xsl:variable name="TotalPrice">
<xsl:for-each select="./Products/Product">
<xsl:value-of select="quantity * perUnit"/>
</xsl:for-each>
</xsl:variable>
然后
<xsl:value-of select="sum($TotalPrice)"/>
还试过这个:
<xsl:value-of select="sum(//quantity * //perUnit)"/>
但得到了一个错误:
Can not convert #NUMBER to a NodeList!