Xml 使用xpath获取每个元素的位置
我想用xslt添加每个Xml 使用xpath获取每个元素的位置,xml,xslt,xpath,Xml,Xslt,Xpath,我想用xslt添加每个元素的编号。 我的XML的结构如下: <root> <element1/> <element2/> <element3/> </root> [1] element1 [2] element2 [3] element3 [2] element1 [4] element2 [6] element3 我用试过,但是用这个,数字不知怎么翻了一倍,看起来像这样: <root>
元素的编号。
我的XML的结构如下:
<root>
<element1/>
<element2/>
<element3/>
</root>
[1] element1
[2] element2
[3] element3
[2] element1
[4] element2
[6] element3
我用
试过,但是用这个,数字不知怎么翻了一倍,看起来像这样:
<root>
<element1/>
<element2/>
<element3/>
</root>
[1] element1
[2] element2
[3] element3
[2] element1
[4] element2
[6] element3
我做错了什么?是否还有其他可能获取每个元素的实际位置
以下是我的XSL:
<xsl:template match="/root/*">
<p>
<xsl:element name="div">
[<xsl:value-of select="position()" />]
<xsl:attribute name="class">entry<xsl:value-of select="@type"/></xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</p>
</xsl:template>
[]
进入
由于text()
节点,该数字正在翻倍。尝试改用xsl:number
<div>[<xsl:number count="*"/>] <xsl:value-of select="name()"/></div>
为什么不发布XSLT代码,以便我们可以更正它?