Sample code for 30+ languages & platforms
Perl Requires Chilkat v9.5.0.76+

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.

Chilkat Perl Downloads

Chilkat2 Perl
use strict;
use warnings;
use Chilkat2;

# First, let's create the following XML:

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

my $xml = Chilkat2::Xml->new;
$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>

my $xT = $xml->FindChild('DatiTrasmissione|IdTrasmittente');
my $index = $xT->TagIndex('IdPaese');
if ($index < 0) {
    print "nothing found at the given tag.\n";
    exit;
}

my $x1 = $xT->NewChildAfter($index, 'NewTag', 'Content');

# Show the resulting XML.
print $xml->GetXml(), "\n";