我想使用xslt 1.0获取xml输出中的序列号。
`<a>
<b>
<c>
<d>text1</d>
</c>
<c>
<d>text2</d>
</c>
</b>
<b>
<c>
<d>text3</d>
</c>
<c>
<d>text4</d>
</c>
</b>
</a>`
输出xml应该像
` <result>
<seq>1</seq>
<r>text1</r>
<seq>2</seq>
<r>text2</r>
<seq>3</seq>
<r>text3</r>
<seq>4</seq>
<r>text4</r>
</result> `.
请提出任何建议。
答案 0 :(得分:3)
使用xsl:number level="any"
:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output indent="yes"/>
<xsl:template match="a">
<result>
<xsl:apply-templates select=".//d"/>
</result>
</xsl:template>
<xsl:template match="d">
<seq><xsl:number level="any"/></seq>
<r><xsl:value-of select="."/></r>
</xsl:template>
</xsl:stylesheet>
答案 1 :(得分:0)
<xsl:template match="/">
<result>
<xsl:apply-templates select="//d"/>
</result>
</xsl:template>
<xsl:template match="d">
<seq>
<xsl:value-of select="position()"/>
</seq>
<r>
<xsl:value-of select="."/>
</r>
</xsl:template>