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