I am trying to access some Nodes in my XML File, but I cant get it working because i probably don't understand XML-Namepsaces in Delphi.
<gesmes:Envelope xmlns:gesmes="http://www.gesmes.org/xml/2002-08-01" xmlns="http://www.ecb.int/vocabulary/2002-08-01/eurofxref">
<gesmes:subject>Reference rates</gesmes:subject>
<gesmes:Sender>
<gesmes:name>European Central Bank</gesmes:name>
</gesmes:Sender>
<Cube>
<Cube time="2018-01-18">
<Cube currency="USD" rate="1.2235"/>
<Cube currency="JPY" rate="136.07"/>
<Cube currency="BGN" rate="1.9558"/>
<Cube currency="CZK" rate="25.365"/>
<Cube currency="DKK" rate="7.4475"/>
<Cube currency="GBP" rate="0.88208"/>
<Cube currency="HUF" rate="308.51"/>
<Cube currency="PLN" rate="4.1665"/>
<Cube currency="RON" rate="4.6480"/>
<Cube currency="SEK" rate="9.8305"/>
<Cube currency="CHF" rate="1.1748"/>
<Cube currency="NOK" rate="9.6013"/>
<Cube currency="HRK" rate="7.4409"/>
<Cube currency="RUB" rate="69.2126"/>
<Cube currency="TRY" rate="4.6374"/>
<Cube currency="AUD" rate="1.5311"/>
<Cube currency="BRL" rate="3.9321"/>
<Cube currency="CAD" rate="1.5229"/>
<Cube currency="CNY" rate="7.8582"/>
<Cube currency="HKD" rate="9.5648"/>
<Cube currency="IDR" rate="16325.38"/>
<Cube currency="ILS" rate="4.1950"/>
<Cube currency="INR" rate="78.1210"/>
<Cube currency="KRW" rate="1306.61"/>
<Cube currency="MXN" rate="22.8174"/>
<Cube currency="MYR" rate="4.8396"/>
<Cube currency="NZD" rate="1.6759"/>
<Cube currency="PHP" rate="62.068"/>
<Cube currency="SGD" rate="1.6175"/>
<Cube currency="THB" rate="39.054"/>
<Cube currency="ZAR" rate="15.0035"/>
</Cube>
</Cube>
</gesmes:Envelope>
I tried to access the Cube Nodes like that:
procedure TForm2.Button1Click(Sender: TObject);
var
Doc: IXMLDocument;
Node: IXMLNode;
sl: TStringList;
begin
Doc := LoadXMLDocument('C:\Users\Kevin\Desktop\test.xml');
node := Doc.DocumentElement;
ShowMessage(Node.ChildNodes['Cube']);
end;
I realized that my output is: "gesmes:Cube". I don't think that is right... I excpected to get the the first "Cube" Node. I am not sure how namespaces in Delphi work so it would be great if i could get some help here.
Best Regards!