Einzelnen Beitrag anzeigen

lowmax_5

Registriert seit: 9. Mai 2003
Ort: Münster, NRW
258 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Wert aus xml-Dokument lesen mit TxmlDocument

  Alt 19. Jul 2011, 10:34
Hallo,

ich bin schon einen Schritt weiter gekommen. Das Problem ist aber einen bestimmte 'rate' für einen gegebenen 'currency'-Wert zu ermitteln. Gibt es einen Weg direkt auf einen 'currency-Wert' zu gehen? d.h. diesen zu suchen?

Hier der Code:

Code:
var
Doc: TXMLDocument;
Stammknoten:IXMLNode;
begin
Doc := TXMLDocument.Create(Self);
Doc.LoadFromFile(ExtractFilePath(Application.exename) + '\test.xml');
Doc.Active := true; //kann beim Auslesen wegfallen

Stammknoten:=Doc.DocumentElement;
if Stammknoten =nil then
begin
 ShowMessage('Stammknoten ist Nil! Abbruch!');
 exit;
end;

ShowMessage(stammknoten.ChildNodes.Nodes[2].ChildNodes.Nodes[0].ChildNodes.Nodes[0].AttributeNodes.Nodes[0].NodeName); //Currency
ShowMessage(stammknoten.ChildNodes.Nodes[2].ChildNodes.Nodes[0].ChildNodes.Nodes[0].AttributeNodes.Nodes[0].NodeValue); //Currency=USD
ShowMessage(stammknoten.ChildNodes.Nodes[2].ChildNodes.Nodes[0].ChildNodes.Nodes[0].AttributeNodes.Nodes[1].NodeValue); //Rate-Wert!!!!

Mit dem Assistenten von TXMLDocument wie von 'DelphiSecurity' vorgeschlagen komme ich nicht recht weiter, wobei dieses vermutlich die schönste Lösung darstellt. Folgender Code erzeugt beim Zugriff auf den Wert immer eine AV. Irgendetwas mache ich hier grundsätzlich falsch:

Code:
var
Env:IXMLEnvelopeType;
 ICubeType: IXMLCubeType;
 ICubeType2: IXMLCubeType2;
begin
 XMLDocument1.LoadFromFile(ExtractFilePath(Application.exename) + '\test.xml');
 XMLDocument1.Active:=TRUE;


 ICubeType2.Currency:='RUB'; //Bei Zugriff=Crash
  Mit Zitat antworten Zitat