Delphi ActiveX
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
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;