Sample code for 30+ languages & platforms
Delphi DLL

Create XML with Multiple Same-Tag Children

See more XML Examples

Demonstrates how to create XML where siblings have the identical tags.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Xml;

...

procedure TForm1.Button1Click(Sender: TObject);
var
xml: HCkXml;

begin
// This example creates the following XML:

// <soap:Envelope>
//     <soap:Body>
//         <S:AlternatePartyIds>
//             <S:Id>123456789</S:Id>
//             <S:AssigningPartyId>NationalId</S:AssigningPartyId>
//         </S:AlternatePartyIds>
//         <S:AlternatePartyIds>
//             <S:Id>987654</S:Id>
//             <S:AssigningPartyId>DriversLicense</S:AssigningPartyId>
//             <S:IssuingState>SD</S:IssuingState>
//         </S:AlternatePartyIds>
//     </soap:Body>
// </soap:Envelope>

xml := CkXml_Create();
CkXml_putTag(xml,'soap:Envelope');
CkXml_UpdateChildContent(xml,'soap:Body|S:AlternatePartyIds|S:Id','123456789');
CkXml_UpdateChildContent(xml,'soap:Body|S:AlternatePartyIds|S:AssigningPartyId','NationalId');
CkXml_UpdateChildContent(xml,'soap:Body|S:AlternatePartyIds[1]|S:Id','987654');
CkXml_UpdateChildContent(xml,'soap:Body|S:AlternatePartyIds[1]|S:AssigningPartyId','DriversLicense');
CkXml_UpdateChildContent(xml,'soap:Body|S:AlternatePartyIds[1]|S:IssuingState','SD');

Memo1.Lines.Add(CkXml__getXml(xml));

CkXml_Dispose(xml);

end;