• λ我爱Aspx >> C#.Net >> XSL中利用xsl:for-each时给每一项添加序号_XSL教程
  • XSL中利用xsl:for-each时给每一项添加序号_XSL教程

  • :aspxer  Դ:internet  :2007-4-28 23:43:21  ؼ:
  • 经常用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>

    当然,如果你不满意,想在数字后面加上"."可以这样:

    <xsl:number value="position()" format="1." />

    甚至,你可以用用图片表示1\2\3等:

    <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>

    注意:你在images文件夹下腰有类似这样的文件:n1.gif,n2.gif,n3.gif ... ...

    假设我们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>

    Ҷƪл˵?
  • һƪXSLT轻松入门第四章:XPath的语法_XSL教程
    һƪxslt的简单使用[xml-->html] _XSL教程