Sample code for 30+ languages & platforms
PHP Extension

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 PHP Extension Downloads

PHP Extension
<?php

include("chilkat.php");

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

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

$xml = new CkXml();
$xml->put_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>

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

// x1 is a CkXml
$x1 = $xT->NewChildAfter($index,'NewTag','Content');

// Show the resulting XML.
print $xml->getXml() . "\n";

?>