这是变量:

<xsl:variable name="WepNr" select="/*/DbResponse/ResultSet/Row[Cell[@name='ARTNR']=$ArtNr][Cell[@name='WEANR']=$WeaNr]/Cell[@name='WEPNR']"/>

它可以返回多个值,因此在这种情况下,它将输出如下内容:2 21 36 =3 个值。

我尝试通过它们:
<xsl:for-each select="$WepNr">
    <LineNumber><xsl:value-of select="$WepNr"/></LineNumber>
</xsl:for-each>

但它只是输出相同的值 2 21 36 三次:
<LineNumber>2 21 36</LineNumber>
<LineNumber>2 21 36</LineNumber>
<LineNumber>2 21 36</LineNumber>

我怎样才能输出 3 次,例如:
<LineNumber>2</LineNumber>
<LineNumber>21</LineNumber>
<LineNumber>36</LineNumber>

?

最佳答案

您在 for-each 中再次选择整个变量。

你可能想要这样的东西(未经测试):

<xsl:for-each select="$WepNr">
    <LineNumber><xsl:value-of select="."/></LineNumber>
</xsl:for-each>

关于xml - XSLT 遍历数组值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12779996/

10-10 11:46