Sample code for 30+ languages & platforms
Delphi ActiveX

ExtractChildByName using a Tag Path

Demonstrates calling ExtractChildByName with a tag path.

This example requires Chilkat v9.5.0.64 or greater.

Chilkat Delphi ActiveX Downloads

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

...

procedure TForm1.Button1Click(Sender: TObject);
var
xml: TChilkatXml;
xCalif: IChilkatXml;

begin
xml := TChilkatXml.Create(Self);

xml.Tag := 'world';

// This example uses features introduced in v9.5.0.64
xml.NewChild2('north_america|united_states|california|san_francisco','Silicon Valley');
xml.NewChild2('north_america|united_states|california|san_diego','Birthplace of California');
xml.NewChild2('north_america|united_states|illinois|chicago','Windy City');

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

// Produces the following XML
// 
// 	<?xml version="1.0" encoding="utf-8" ?>
// 	<world>
// 	    <north_america>
// 	        <united_states>
// 	            <california>
// 	                <san_francisco>Silicon Valley</san_francisco>
// 	                <san_diego>Birthplace of California</san_diego>
// 	            </california>
// 	            <illinois>
// 	                <chicago>Windy City</chicago>
// 	            </illinois>
// 	        </united_states>
// 	    </north_america>
// 	</world>
// 

xCalif := xml.ExtractChildByName('north_america|united_states|california','','');

Memo1.Lines.Add(xCalif.GetXml());

// xCalif contains:

// 	<?xml version="1.0" encoding="utf-8" ?>
// 	<california>
// 	    <san_francisco>Silicon Valley</san_francisco>
// 	    <san_diego>Birthplace of California</san_diego>
// 	</california>

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

// xml now contains:

// 	<?xml version="1.0" encoding="utf-8" ?>
// 	<world>
// 	    <north_america>
// 	        <united_states>
// 	            <illinois>
// 	                <chicago>Windy City</chicago>
// 	            </illinois>
// 	        </united_states>
// 	    </north_america>
// 	</world>
end;