Sample code for 30+ languages & platforms
Delphi DLL

XML GetChildWithAttr

See more XML Examples

Demonstrates how to get the content of a particular node with a particular attribute. For example, returns "Face up in the Rain" for the Name="Album" node.
 <Response Status="OK">
   <Item Name="ZoneID">0</Item>
   <Item Name="State">2</Item>
   <Item Name="FileKey">305718</Item>
   <Item Name="Artist">Michael Tomlinson</Item>
   <Item Name="Album">Face Up in the Rain</Item>
   <Item Name="Name">The Way We're Going</Item>
   <Item Name="Status">Playing</Item>
</Response> 

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;
xItem: HCkXml;

begin
success := False;

xml := CkXml_Create();

success := CkXml_LoadXmlFile(xml,'qa_data/resp.xml');
if (success <> True) then
  begin
    Memo1.Lines.Add(CkXml__lastErrorText(xml));
    Exit;
  end;

xItem := CkXml_GetChildWithAttr(xml,'Item','Name','Album');
if (CkXml_getLastMethodSuccess(xml) = False) then
  begin
    Memo1.Lines.Add('not found.');
    Exit;
  end;

Memo1.Lines.Add(CkXml__content(xItem));

CkXml_Dispose(xItem);

CkXml_Dispose(xml);

end;