Xml 如何在xsl中将当前迭代数作为数组索引
我正在使用的XmlXml 如何在xsl中将当前迭代数作为数组索引,xml,xslt,foreach,tags,iteration,Xml,Xslt,Foreach,Tags,Iteration,我正在使用的Xml "<default>" "<string>a</string>" "<string>Apple</string>" "<string>b</string>" "<string>Ball</string>" "<string>c</string>" "<string>Cat</str
"<default>"
"<string>a</string>"
"<string>Apple</string>"
"<string>b</string>"
"<string>Ball</string>"
"<string>c</string>"
"<string>Cat</string>"
"<string>d</string>"
"<string>Dog</string>"
"</default>"
and this is the xsl I am using
<xsl:for-each select="//default/string">
<xsl:element name="{/default/string[?]\">
<xsl:value-of select="/default/string[?]\"/>
</xsl:element>
</xsl:for-each>
“”
“a”
“苹果”
“b”
“球”
“c”
“猫”
“d”
“狗”
""
这就是我正在使用的xsl
现在我希望我的xml采用这种格式
<default>
<a>Apple</a>
<b>Ball</b>
<c>Cat</c>
<d>Dog</d>
</default>
苹果
球
猫
狗
为此,我需要
中的当前迭代数和。有人能帮我吗?我想你是在寻找
位置()
函数,例如在中为每个使用
将产生1
,2
,3
,4
,等等
<xsl:for-each select="//default/string">
<xsl:element name="{.}"><xsl:value-of select="position()"/></xsl:element>
</xsl:for-each>
我认为你最近的编辑没有使用任何索引或位置,而是你想要的
<xsl:for-each select="//default/string[position() mod 2 = 1]">
<xsl:element name="{.}"><xsl:value-of select="following-sibling::string[1]"/></xsl:element>
</xsl:for-each>
我认为您正在寻找位置()
函数,例如,使用
将为每个生成1
,2
,3
,4
,等等
<xsl:for-each select="//default/string">
<xsl:element name="{.}"><xsl:value-of select="position()"/></xsl:element>
</xsl:for-each>
我认为你最近的编辑没有使用任何索引或位置,而是你想要的
<xsl:for-each select="//default/string[position() mod 2 = 1]">
<xsl:element name="{.}"><xsl:value-of select="following-sibling::string[1]"/></xsl:element>
</xsl:for-each>
hey@martin:我已经用了一半的方法了,但仍然不是我想要的格式。我已经编辑了这个问题,请再看一次。@Pulkit,我已经添加了一些代码来尝试实现您更改的需求。嘿@martin:我使用您的方法已经进行了一半,但它仍然不是我想要的格式。我已经编辑了这个问题,请再看一次。@Pulkit,我添加了一些代码来尝试实现您更改的需求。