Sample code for 30+ languages & platforms
Delphi DLL

XML NewChild2 using a Tag Path

See more XML Examples

Demonstrates the XML NewChild2 method using a tag path.

Note: This example requires Chilkat v9.5.0.64 or later.

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
// Note: This example requires Chilkat v9.5.0.64 or later.
xml := CkXml_Create();

CkXml_putTag(xml,'aaa');

// A single tag can be passed to NewChild2, and this behaves as it always has:
CkXml_NewChild2(xml,'penguin','flightless bird');
CkXml_NewChild2(xml,'mammal','');
Memo1.Lines.Add(CkXml__getXml(xml));

// The output:

// 	<?xml version="1.0" encoding="utf-8" ?>
// 	<aaa>
// 	    <penguin>flightless bird</penguin>
// 	    <mammal />
// 	</aaa>
// 
// Starting in v9.5.0.64, a tag path can be used.
// It will cause nodes to be automatically created as needed.
CkXml_NewChild2(xml,'red|green|blue','sky');
CkXml_NewChild2(xml,'mammal|rodent|squirrel','bushy tail');
Memo1.Lines.Add(CkXml__getXml(xml));

// The output:

// 	<?xml version="1.0" encoding="utf-8" ?>
// 	<aaa>
// 	    <penguin>flightless bird</penguin>
// 	    <mammal>
// 	        <rodent>
// 	            <squirrel>bushy tail</squirrel>
// 	        </rodent>
// 	    </mammal>
// 	    <red>
// 	        <green>
// 	            <blue>sky</blue>
// 	        </green>
// 	    </red>
// 	</aaa>
// 

CkXml_Dispose(xml);

end;