Sample code for 30+ languages & platforms
Delphi DLL

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

begin
success := False;

xml := CkXml_Create();

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

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

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

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

// Iterate over the attributes and show the name/value of each:
numAttr := CkXml_getNumAttributes(carNode);

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

CkXml_Dispose(carNode);

CkXml_Dispose(xml);

end;