Home Forums Programming XML XQuery insert new node RE: XQuery insert new node

  • Quick'n simple example

    😎

    USE tempdb;

    GO

    SET NOCOUNT ON;

    DECLARE @TXML XML = '<Attribute>

    <A1>6529</A1>

    <A2>6529</A2>

    </Attribute>';

    DECLARE @NNODE VARCHAR(100) = 'A3';

    DECLARE @nval VARCHAR(100) = 'New value';

    DECLARE @Nt VARCHAR(200) = '<{{@NNODE}}>{{@NVAL}}</{{@NNODE}}>';

    DECLARE @NXML XML;

    SELECT @NXML = CONVERT(XML,REPLACE(REPLACE(@NT,'{{@NNODE}}',@NNODE),'{{@NVAL}}',@NVAL),0);

    SET @TXML.modify('insert sql:variable("@NXML") as last into (/Attribute)[1]');

    SELECT @TXML ;

    Results

    <Attribute>

    <A1>6529</A1>

    <A2>6529</A2>

    <A3>New value</A3>

    </Attribute>