过去几天我一直在尝试但没有运气。我的xml中有2个重复元素(ELM.11)。我想将另一个重命名为(ELM.12)。请看下面的输入。提前谢谢。
INPUT
<ROOT>
<ELM>
<ELM.10>ABC</ELM.10>
<ELM.11>001252016175000006</ELM.11>
<ELM.11>3796124</ELM.11>
<ELM.13>
<TS.1>20160623134857-0400</TS.1>
</ELM.13>
<ELM.14>GLB</ELM.14>
<ELM.15>F</ELM.15>
<ELM>
</ROOT>
EXPECT OUTPUT
<ROOT>
<ELM>
<ELM.10>ABC</ELM.10>
<ELM.11>001252016175000006</ELM.11>
<ELM.12>3796124</ELM.12>
<ELM.13>
<TS.1>20160623134857-0400</TS.1>
</ELM.13>
<ELM.14>GLB</ELM.14>
<ELM.15>F</ELM.15>
<ELM>
</ROOT>
答案 0 :(得分:0)
这个问题有点含糊不清。如果我按字面意思阅读,答案很简单:
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="ELM.11[2]">
<ELM.12>
<xsl:apply-templates select="@*|node()"/>
</ELM.12>
</xsl:template>
</xsl:stylesheet>