![]() |
AW: XML-Datei einlesen
Warum fragst du die Zeit
Delphi-Quellcode:
GetNamedItem('Cube time').NodeValue;
so ab, aber Currency mit
Delphi-Quellcode:
GetNamedItem('currency').NodeValue
|
AW: XML-Datei einlesen
Zitat:
Code:
Es gibt hier drei verschiedene Typen von "Cube"-Nodes, und damit kommt nicht mal der XML Data Binding Wizard von Delphi klar.
<Cube>
<Cube time='2021-12-03'> <Cube currency='USD' rate='1.1291'/> <Cube currency='JPY' rate='127.97'/> <Cube currency='BGN' rate='1.9558'/> <Cube currency='CZK' rate='25.415'/> <Cube currency='DKK' rate='7.4362'/> <Cube currency='GBP' rate='0.85048'/> </Cube> </Cube> Das hier scheint zu funktionieren:
Delphi-Quellcode:
procedure TForm1.Display(const Fmt: string; const Values: array of const);
begin memo1.Lines.Add(Format(Fmt, Values)); end; procedure TForm1.Button1Click(Sender: TObject); var LEnvelope: IXMLDocument; LOuterCube: IXMLNode; LTimeCube: IXMLNode; LCurrencyCube: IXMLNode; begin LEnvelope := TXmlDocument.Create(nil); LEnvelope.LoadFromFile('C:\Users\Peter_2\Downloads\eurofxref-daily.xml'); LEnvelope.Active := True; memo1.Clear; LOuterCube := LEnvelope.DocumentElement.ChildNodes[2]; LTimeCube := LOuterCube.ChildNodes[0]; Display('Date: %s', [LTimeCube.Attributes['time']]); LCurrencyCube := LTimeCube.ChildNodes[0]; while Assigned(LCurrencyCube) do begin Display('Currency: %s; Rate: %s', [LCurrencyCube.Attributes['currency'], LCurrencyCube.Attributes['rate']] ); LCurrencyCube := LCurrencyCube.NextSibling; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:21 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz