【IT168技术文档】
经常用for-each来循环读取XML中的某个节点集,但常常需要加上序号
这样来做:
当然,如果你不满意,想在数字后面加上"."可以这样:<xsl:template match="Book"> <xsl:for-each select="Authors/Author"> <xsl:number value="position()" /> <xsl:value-of select="Name" /> </xsl:for-each> </xsl:template>
甚至,你可以用用图片表示1\2\3等:<xsl:number value="position()" format="1." />
注意:你在images文件夹下腰有类似这样的文件:n1.gif,n2.gif,n3.gif ... ...<xsl:element name="img"> <xsl:attribute name="src">images/n<xsl:number value="position()" format="1" />.gif</xsl:attribute> <xsl:attribute name="border">0</xsl:attribute> </xsl:element>
假设我们XML如下:
<Book> <ID>125353-8993-3737</ID> <ISBN>22222</ISBN> <Title>共产主义一定能胜利</Title> <Authors> <Author> <Name><![CDATA[Bill&Hoele]]></Name> <ID>12</ID> </Author> <Author> <Name><![CDATA[Eylor]]></Name> <ID>1</ID> </Author> </Authors> </Book>