0

给定一个 xml 树示例:

<root>
  <child></child>
  <child>
    <child></child>
  </child>
</root>

有人可以帮助我添加 id 和 parentid 属性的样式表:

<root id="1" parentID="">
  <child id="2" parentID="1"></child>
  <child id="3" parentID="1">
    <child id="4" parentID="3"></child>
  </child>
</root>
4

1 回答 1

1

利用

<xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="*">
  <xsl:copy>
    <xsl:attribute name="id">
      <xsl:apply-templates select="." mode="number"/>
    </xsl:attribute>
    <xsl:attribute name="parentId">
      <xsl:apply-templates select="parent::*" mode="number"/>
    </xsl:attribute>
    <xsl:apply-templates select="@* | node()"/>
  </xsl:copy>
</xsl:template>

<xsl:template match="*" mode="number">
  <xsl:number level="any" count="*"/>
</xsl:template>

</xsl:stylesheet>
于 2013-09-16T10:26:21.023 回答