C
C
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 C Downloads
#include <C_CkXml.h>
void ChilkatSample(void)
{
HCkXml xml;
HCkXml xT;
int index;
HCkXml x1;
// First, let's create the following XML:
// <FatturaElettronicaHeader>
// <DatiTrasmissione>
// <IdTrasmittente>
// <IdPaese>IT</IdPaese>
// <IdCodice>12345678</IdCodice>
// </IdTrasmittente>
// </DatiTrasmissione>
// </FatturaElettronicaHeader>
xml = CkXml_Create();
CkXml_putTag(xml,"FatturaElettronicaHeader");
CkXml_UpdateChildContent(xml,"DatiTrasmissione|IdTrasmittente|IdPaese","IT");
CkXml_UpdateChildContent(xml,"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 = CkXml_FindChild(xml,"DatiTrasmissione|IdTrasmittente");
index = CkXml_TagIndex(xT,"IdPaese");
if (index < 0) {
printf("nothing found at the given tag.\n");
CkXml_Dispose(xml);
return;
}
x1 = CkXml_NewChildAfter(xT,index,"NewTag","Content");
CkXml_Dispose(x1);
CkXml_Dispose(xT);
// Show the resulting XML.
printf("%s\n",CkXml_getXml(xml));
CkXml_Dispose(xml);
}