Sample code for 30+ languages & platforms
PowerShell

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

PowerShell
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"

# First, let's create the following XML:

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

$xml = New-Object 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>

$xT = $xml.FindChild("DatiTrasmissione|IdTrasmittente")
$index = $xT.TagIndex("IdPaese")
if ($index -lt 0) {
    $("nothing found at the given tag.")
    exit
}

$x1 = $xT.NewChildAfter($index,"NewTag","Content")

# Show the resulting XML.
$($xml.GetXml())