我想修改一个非常长的xml的属性,如下所示: element index="0" subelement bla="asdf" / subelement bla="asdf" //elementelement index="1" subelement bla="asdf" / subelement bla="asdf" //element... 我需要添加N每个索引属性
<element index="0">
<subelement bla="asdf" />
<subelement bla="asdf" />
</element>
<element index="1">
<subelement bla="asdf" />
<subelement bla="asdf" />
</element>
...
我需要添加N每个索引属性的值.说N = 5.结果将是:
<element index="5">
<subelement bla="asdf" />
<subelement bla="asdf" />
</element>
<element index="6">
<subelement bla="asdf" />
<subelement bla="asdf" />
</element>
...
最简单的方法是什么?我认为这将与XSLT,但我不知道如何做到这一点.
谢谢!
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<!-- copy everything verbatim -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
<!-- except "element" nodes -->
<xsl:template match="element">
<xsl:copy>
<xsl:attribute name="index">
<xsl:value-of select="@index + 5"/>
</xsl:attribute>
<xsl:apply-templates />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
