DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Handle hoXml
Variant vXT
Handle hoXT
Integer iIndex
Variant vX1
Handle hoX1
String sTemp1
// First, let's create the following XML:
// <FatturaElettronicaHeader>
// <DatiTrasmissione>
// <IdTrasmittente>
// <IdPaese>IT</IdPaese>
// <IdCodice>12345678</IdCodice>
// </IdTrasmittente>
// </DatiTrasmissione>
// </FatturaElettronicaHeader>
Get Create (RefClass(cComChilkatXml)) To hoXml
If (Not(IsComObjectCreated(hoXml))) Begin
Send CreateComObject of hoXml
End
Set ComTag Of hoXml To "FatturaElettronicaHeader"
Send ComUpdateChildContent To hoXml "DatiTrasmissione|IdTrasmittente|IdPaese" "IT"
Send ComUpdateChildContent To hoXml "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>
Get ComFindChild Of hoXml "DatiTrasmissione|IdTrasmittente" To vXT
If (IsComObject(vXT)) Begin
Get Create (RefClass(cComChilkatXml)) To hoXT
Set pvComObject Of hoXT To vXT
End
Get ComTagIndex Of hoXT "IdPaese" To iIndex
If (iIndex < 0) Begin
Showln "nothing found at the given tag."
Procedure_Return
End
Get ComNewChildAfter Of hoXT iIndex "NewTag" "Content" To vX1
If (IsComObject(vX1)) Begin
Get Create (RefClass(cComChilkatXml)) To hoX1
Set pvComObject Of hoX1 To vX1
End
Send Destroy of hoX1
Send Destroy of hoXT
// Show the resulting XML.
Get ComGetXml Of hoXml To sTemp1
Showln sTemp1
End_Procedure