Per leggere un documento XML, puoi usare il componente TXMLDocument.
Per sapere come usarlo, studia questo esempio completo riportato nella documentazione ufficiale.
Non so se il file che hai riportato è puramente esemplificativo, ma dubito che possa essere considerato un file XML valido, dato che vi sono spazi nei nomi degli elementi, numeri al posto di lettere, ecc.
Comunque sia, proviamo a semplificare prendendo un esempio più pulito e più intuitivo, come quello riportato qui nella guida di W3CSchool.
Se volessi ad esempio leggere tutti i titoli dei libri e scriverli in un TMemo, seguiti dalla lingua corrispondente, userei un codice simile a questo (non ottimizzato, ma utile per capire):
codice:
var
BookStore: IXMLNode;
BookNodeList: IXMLNodeList;
BookNode, TitleNode: IXMLNode;
I: Integer;
begin
Memo1.Clear;
XMLDocument1.LoadFromFile('E:\Temp\Sample.xml');
BookStore := XMLDocument1.DocumentElement;
if BookStore.LocalName = 'bookstore' then
begin
BookNodeList := BookStore.ChildNodes;
for I := 0 to BookNodeList.Count - 1 do
begin
BookNode := BookNodeList.Get(I);
TitleNode := BookNode.ChildNodes.FindNode('title');
Memo1.Lines.Add(TitleNode.Text);
Memo1.Lines.Add(TitleNode.AttributeNodes.FindNode('lang').Text);
end;
end;
end;
Il componente TXMLDocument può essere trascinato dalla toolbox dei componenti, oppure creato a runtime dinamicamente al momento del bisogno, con la classica forma
codice:
XMLDoc := TXMLDocument.Create(nil);
try
// ... uso il componente come sopra...
finally
XMLDoc.Free;
end;
Leggi la documentazione e prova a interpretare gli esempi rapportandoli al file XML che devi leggere.
Ciao!