Sample code for 30+ languages & platforms
C#

Insert after Node with Tag

See more XML Examples

Demonstrates how to insert a new node as a sibling directly after a specified node having a given tag.

Note: This example requires Chilkat v9.5.0.76 or greater. The TagIndex method was introduced in v9.5.0.76

Chilkat C# Downloads

C#
//  First, let's create the following XML:

//    <FatturaElettronicaHeader>
//      <DatiTrasmissione>
//        <IdTrasmittente>
//          <IdPaese>IT</IdPaese>
//          <IdCodice>12345678</IdCodice>
//        </IdTrasmittente>
//      </DatiTrasmissione>
//    </FatturaElettronicaHeader>

Chilkat.Xml xml = new Chilkat.Xml();
xml.Tag = "FatturaElettronicaHeader";
xml.UpdateChildContent("DatiTrasmissione|IdTrasmittente|IdPaese","IT");
xml.UpdateChildContent("DatiTrasmissione|IdTrasmittente|IdCodice","12345678");

//  Now insert a new node to get this XML:

//    <FatturaElettronicaHeader>
//      <DatiTrasmissione>
//        <IdTrasmittente>
//          <IdPaese>IT</IdPaese>
//          <NewTag>Content</NewTag>
//          <IdCodice>12345678</IdCodice>
//        </IdTrasmittente>
//      </DatiTrasmissione>
//    </FatturaElettronicaHeader>

Chilkat.Xml xT = xml.FindChild("DatiTrasmissione|IdTrasmittente");
int index = xT.TagIndex("IdPaese");
if (index < 0) {
    Debug.WriteLine("nothing found at the given tag.");
    return;
}

Chilkat.Xml x1 = xT.NewChildAfter(index,"NewTag","Content");

//  Show the resulting XML.
Debug.WriteLine(xml.GetXml());