Sample code for 30+ languages & platforms
Objective-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 Objective-C Downloads

Objective-C
#import <CkoXml.h>

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

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

CkoXml *xml = [[CkoXml alloc] init];
xml.Tag = @"FatturaElettronicaHeader";
[xml UpdateChildContent: @"DatiTrasmissione|IdTrasmittente|IdPaese" value: @"IT"];
[xml UpdateChildContent: @"DatiTrasmissione|IdTrasmittente|IdCodice" value: @"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>

CkoXml *xT = [xml FindChild: @"DatiTrasmissione|IdTrasmittente"];
int index = [[xT TagIndex: @"IdPaese"] intValue];
if (index < 0) {
    NSLog(@"%@",@"nothing found at the given tag.");
    return;
}

CkoXml *x1 = [xT NewChildAfter: [NSNumber numberWithInt: index] tag: @"NewTag" content: @"Content"];

// Show the resulting XML.
NSLog(@"%@",[xml GetXml]);