XSLT中的算术表达式

时间:2016-05-17 08:37:44

标签: xml xslt

我需要将两个节点中的每一个相乘并找到总和,例如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!

0 个答案:

没有答案