Sample code for 30+ languages & platforms
Delphi DLL

Demonstrate the XML UpdateAttrAt Method

See more XML Examples

Demonstrates the XML UpdateAttrAt method to update attribute name/value pairs in XML.

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;
autoCreate: Boolean;

begin
// Note: This example requires Chilkat v9.5.0.64 or later.
xml := CkXml_Create();

CkXml_putTag(xml,'animals');

autoCreate := True;

// When the autoCreate argument equals True, the UpdateAttrAt
// method auto-creates the children as needed:
CkXml_UpdateAttrAt(xml,'penguin',autoCreate,'feature','flightless bird');
CkXml_UpdateAttrAt(xml,'mammal|rodent|squirrel',autoCreate,'feature','bushy tail');
CkXml_UpdateAttrAt(xml,'mammal|rodent|rat',autoCreate,'feature','long hairless tail');

// Show the XML
Memo1.Lines.Add(CkXml__getXml(xml));

// 	<?xml version="1.0" encoding="utf-8" ?>
// 	<animals>
// 	    <penguin feature="flightless bird" />
// 	    <mammal>
// 	        <rodent>
// 	            <squirrel feature="bushy tail" />
// 	            <rat feature="long hairless tail" />
// 	        </rodent>
// 	    </mammal>
// 	</animals>
// 

// Now update each node's "feature" attribute..
CkXml_UpdateAttrAt(xml,'penguin',autoCreate,'feature','black and white');
CkXml_UpdateAttrAt(xml,'mammal|rodent|squirrel',autoCreate,'feature','grey, red, or black');
CkXml_UpdateAttrAt(xml,'mammal|rodent|rat',autoCreate,'feature','brown, grey, white, or black');

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

// 	<?xml version="1.0" encoding="utf-8" ?>
// 	<animals>
// 	    <penguin feature="black and white" />
// 	    <mammal>
// 	        <rodent>
// 	            <squirrel feature="grey, red, or black" />
// 	            <rat feature="brown, grey, white, or black" />
// 	        </rodent>
// 	    </mammal>
// 	</animals>
// 

CkXml_Dispose(xml);

end;