Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 使用xpath获取每个元素的位置_Xml_Xslt_Xpath - Fatal编程技术网

Xml 使用xpath获取每个元素的位置

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>

我想用xslt添加每个
元素的编号。
我的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代码,以便我们可以更正它?