当前位置 : 主页 > 网页制作 > xml >

修改某些XML元素的属性

来源:互联网 收集:自由互联 发布时间:2021-06-13
我想修改一个非常长的xml的属性,如下所示: element index="0" subelement bla="asdf" / subelement bla="asdf" //elementelement index="1" subelement bla="asdf" / subelement bla="asdf" //element... 我需要添加N每个索引属性
我想修改一个非常长的xml的属性,如下所示:

<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>
网友评论