Sample code for 30+ languages & platforms
Delphi ActiveX

HasChildWithTag using a Tag Path

Demonstrates calling HasChildWithTag with a tag path.

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;
hasChicago: Integer;
hasNaperville: Integer;
hasIllinois: Integer;

begin
xml := TChilkatXml.Create(Self);

xml.Tag := 'world';

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>
// 

hasChicago := xml.HasChildWithTag('north_america|united_states|illinois|chicago');
Memo1.Lines.Add('hasChicago = ' + IntToStr(Ord(hasChicago)));

hasNaperville := xml.HasChildWithTag('north_america|united_states|illinois|naperville');
Memo1.Lines.Add('hasNaperville = ' + IntToStr(Ord(hasNaperville)));

hasIllinois := xml.HasChildWithTag('north_america|united_states|illinois');
Memo1.Lines.Add('hasIllinois = ' + IntToStr(Ord(hasIllinois)));
end;