Sample code for 30+ languages & platforms
Dart

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 Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // First, let's create the following XML:

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

  final xml = CkXml();
  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>

  final xT = xml.findChild('DatiTrasmissione|IdTrasmittente');
  final index = xT.tagIndex('IdPaese');
  if (index < 0) {
    print('nothing found at the given tag.');
    return;
  }

  final x1 = xT.newChildAfter(index, 'NewTag', 'Content');

  // Show the resulting XML.
  print(xml.getXml());
}