我有一个XML文件,其中包含以下标记。这些是使用次数的同一XML文件的一部分。手动更换将是一件令人厌烦的工作。
<Ids>
<Id><No>1</No></Id>
<Id><No>2</No></Id>
<Id><No>3</No></Id>
<Id><No>4</No></Id>
</Ids>
我想将其更改为以下格式 -
<Ids>
<Id n="1"><No>1</No></Id>
<Id n="2"><No>2</No></Id>
<Id n="3"><No>3</No></Id>
<Id n="4"><No>4</No></Id>
</Ids>
上述标记是XML文件的一部分。 XML文件包含其他各种标记。提前致谢
答案 0 :(得分:2)
使用:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Id">
<xsl:copy>
<xsl:attribute name="n">
<xsl:value-of select="No"/>
</xsl:attribute>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
输入XML:
<Ids>
<Id>
<No>1</No>
</Id>
<Id>
<No>2</No>
</Id>
<Id>
<No>3</No>
</Id>
<Id>
<No>4</No>
</Id>
</Ids>
输出XML:
<Ids>
<Id n="1">
<No>1</No>
</Id>
<Id n="2">
<No>2</No>
</Id>
<Id n="3">
<No>3</No>
</Id>
<Id n="4">
<No>4</No>
</Id>
</Ids>