使用XSLT转换获取XML的一部分

时间:2012-07-20 18:04:35

标签: xml xslt

我是XSL转换的新手。我试图使用XSLT提取XML的一部分。

源XML

<tree>
    <trunk>
        <branch>
            <leaves></leaves>
            <flowers></flowers>
            <fruits></fruits>
        </branch>
    </trunk>
</tree>

我期待以下XML作为输出

<root>    
    <branch>
        <leaves></leaves>
        <flowers></flowers>
        <fruits></fruits>
    </branch>
</root>

请提供转换,我一直在做一些随机的东西。

2 个答案:

答案 0 :(得分:5)

  <xsl:template match="/tree/trunk/branch">
    <root>
      <xsl:copy-of select="."/>
    </root>
  </xsl:template>

答案 1 :(得分:2)

如下所示

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

<xsl:template match="/*">
    <xsl:element name="root">
        <xsl:for-each  select="//branch">
            <xsl:element name="branch">
                <xsl:for-each select="*">
                    <xsl:copy-of select="."/>
                </xsl:for-each>
            </xsl:element>
        </xsl:for-each>
    </xsl:element>
</xsl:template>