我是xslt的新手。我在下面输入了xml
<Delivery>
<Item>
<ItemNo>0010</ItemNo>
<Material>GB123SS</Material>
</Item>
<Item>
<ItemNo>0011</ItemNo>
<Material>ST435DL</Material>
</Item>
<Item>
<ItemNo>0020</ItemNo>
<Material>YY902TU</Material>
</Item>
<Item>
<ItemNo>0030</ItemNo>
<Material>AW999AA</Material>
</Item>
我想得到这个输出:
1GB123SS
2ST435DL
3YY902TU
4AW999AA
我的要求是将(Item / ItemNo)显示为编号1,2,3,4,而不是0010,0011,0020和0030。
很高兴有人可以给我一些实现方法的想法。 谢谢。
答案 0 :(得分:0)
您必须像下面这样使用职位:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:template match="/">
<xsl:for-each select="Delivery/Item">
<xsl:value-of select="concat(position(), ' ', Material, '
')"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
或xsl:number:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:template match="/">
<xsl:for-each select="Delivery/Item">
<xsl:number/>
<xsl:value-of select="concat(' ', Material, '
')"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>