Xml XSLT中的行号
有一个XML文件包含重复的ID 我想根据重复的ID添加一些行号 示例XML文件如下所示:Xml XSLT中的行号,xml,xslt,Xml,Xslt,有一个XML文件包含重复的ID 我想根据重复的ID添加一些行号 示例XML文件如下所示: <ROOT> <record1> <ID>123</ID> <Name>abc</Name> </record1> <record2> <ID>123</ID> <Name>def</Name> <
<ROOT>
<record1>
<ID>123</ID>
<Name>abc</Name>
</record1>
<record2>
<ID>123</ID>
<Name>def</Name>
</record2>
<record3>
<ID>456</ID>
<Name>ghi</Name>
</record3>
</ROOT>
123
abc
123
def
456
ghi
我需要以下格式的:
<ROOT>
<record1>
<ID>123_1</ID>
<Name>abc</Name>
</record1>
<record2>
<ID>123_2</ID>
<Name>def</Name>
</record2>
<record3>
<ID>456</ID>
<Name>ghi</Name>
</record3>
</ROOT>
123_1
abc
123_2
def
456
ghi
有人能告诉我正确的方法吗?如何为此编写XSL
谢谢如果您将此模板添加到XSLT标识转换中,您应该已经做好以下准备:
<xsl:template match="ID">
<xsl:copy>
<xsl:value-of select"." />
<xsl:if test="//ID[. = current()]">
<xsl:value-of select="concat('_', count(preceding::ID[. = current()]) + 1)" />
</xsl:when>
</xsl:copy>
</xsl:template>
您自己尝试过什么吗?如果没有,为什么不呢?我发现了一个与你的问题类似的线索:我有一个解决方案给你,但我必须同意@Tomalak-为了帮助你学习,我很想看看你已经尝试了什么。