我有xml部分:
<tag>
<tagIn>test</tagIn>
<tagIn>test</tagIn>
<tagIn>test</tagIn>
</tag>
我需要通过xslt转换:
<tag>
<tagIn1>test</tagIn1>
<tagIn2>test</tagIn2>
<tagIn3>test</tagIn3>
</tag>
我该怎么做?
答案 0 :(得分:0)
您可以尝试使用“tagIn”的特殊规则进行“身份转换” 像这样:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="tagIn">
<xsl:element name="{concat('tagIn', count(preceding-sibling::tagIn)+1)}" >
<xsl:apply-templates />
</xsl:element>
</xsl:template>
</xsl:stylesheet>
将生成以下输出:
<tag>
<tagIn1>test</tagIn1>
<tagIn2>test</tagIn2>
<tagIn3>test</tagIn3>
</tag>