1

for-each我需要在以下循环中设置一个变量,即每个订单中的“行项目”总数:

<xsl:for-each select="Customer/Order/Item">
</xsl:for-each>

例如,如果订单有:

1X SKI GLOVES $4.99

3X TACOS $5.99

2X SNOWBOARDS $6.99

因此,此订单中的行项目数为 3。

我希望变量输出“3”。我将在循环中使用这个变量for-each来划分另一个数字......基本上我正在寻找将行项目数输出到变量的东西。它应该看起来像:

<xsl:for-each select="Customer/Order/Item">
<xsl:variable name="lineitemqty" select="# OF LINE ITEMS" />
<xsl:value-of select="$lineitemqty" /><xsl:text>&#9;</xsl:text>    
</xsl:for-each>

如果$lineitemqty = 3循环正在处理上面的订单......

4

2 回答 2

1

因为您正在遍历所有项目(对于所有订单和所有客户)并且(据我所知)您想知道有多少项目属于当前订单,这就是您要查找的内容。

<xsl:variable name="lineitemqty" select="count(../Item)" /> 
于 2013-04-26T05:37:12.270 回答
0

只需使用(循环外):

<xsl:variable name="lineitemqty" select="Customer/Order/Item"/>

如果您想知道循环内的这个数字,只需引用(外层)变量$lineitemqty

或者,您可以在循环内使用以下函数last()

<xsl:variable name="lineitemqty" select="last()"/>
于 2013-04-26T03:31:54.993 回答