warsze
warsze

Reputation: 443

How Do You Insert XML Into an existing XML node

I'm not even sure if it's possible but say I have some XML:

   <source>
        <list>
            <element id="1"/>
        </list>
    </source>

And I would like to insert into list:

<element id="2"/>

Can I write an XSLT to do this?

Upvotes: 23

Views: 23235

Answers (1)

Chris Marasti-Georg
Chris Marasti-Georg

Reputation: 34680

Add these 2 template definitions to an XSLT file:

<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>
<xsl:template match="list">
  <list>
     <xsl:apply-templates select="@* | *"/>
     <element id="2"/>
  </list>
</xsl:template> 

Upvotes: 37

Related Questions