Xml我正在使用
"<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>
现在我希望我的xml采用这种格式
<default>
<a>Apple</a>
<b>Ball</b>
<c>Cat</c>
<d>Dog</d>
</default>
为此,我需要<xsl:element name="{/default/string[?]\">
中的当前迭代编号,并在<xsl:value-of select="/default/string[?]\"/>
中增加值。有人可以帮助我吗?
答案 0 :(得分:5)
我认为您正在寻找position()
功能,例如使用for-each
的{{1}}内部会产生<xsl:value-of select="position()"/>
,1
,2
,3
等。
4
我认为您最近的编辑不使用任何索引或位置,而是您想要
<xsl:for-each select="//default/string">
<xsl:element name="{.}"><xsl:value-of select="position()"/></xsl:element>
</xsl:for-each>