Sample code for 30+ languages & platforms
Delphi ActiveX

Methods for Getting Attributes

See more XML Examples

Demonstrates some methods for getting attribute name/values.

The input XML, available at http://www.chilkatsoft.com/data/car.xml, is this:

<root>
    <car color="black" make="mercedes" model="C350" hp="302" engine="v6" type="sedan">Mercedes Benz C350</car>
</root>

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
success: Integer;
xml: TChilkatXml;
carNode: IChilkatXml;
numAttr: Integer;
horsepower: Integer;
i: Integer;

begin
success := 0;

xml := TChilkatXml.Create(Self);

// The sample input XML is available at http://www.chilkatsoft.com/data/car.xml
success := xml.LoadXmlFile('car.xml');
if (success <> 1) then
  begin
    Memo1.Lines.Add(xml.LastErrorText);
    Exit;
  end;

// Navigate to the "car" node, which is the 1st child:
carNode := xml.FirstChild();

// Get the value of the "model" attribute:
Memo1.Lines.Add('model = ' + carNode.GetAttrValue('model'));

// Get the value of the "hp" attribute as an integer:
horsepower := carNode.GetAttrValueInt('hp');
Memo1.Lines.Add('horsepower = ' + IntToStr(horsepower));

// Iterate over the attributes and show the name/value of each:
numAttr := carNode.NumAttributes;

i := 0;
while i < numAttr do
  begin
    Memo1.Lines.Add(carNode.GetAttributeName(i) + ': ' + carNode.GetAttributeValue(i));
    i := i + 1;
  end;
end;