![]() |
XML mit DOM parsen
hallo,
ich parste diverse XML dokumente schon des öfteren mit der DOM-Komp. allerdings hatte der XML-string bisher immer einen Aufbau in folgender Art:
XML-Code:
...dies lese ich in etwa so aus:
<KUNDE>
<NAME>MÜLLER<NAME> <VORNAME>HANS</VORNAME> </KUNDE>
Delphi-Quellcode:
...
if daten.nodeType = nttext_Node then begin result := daten.nodeValue; ende := TRUE; end; ... nun habe ich einen XML-string der sieht in etwa so aus:
XML-Code:
wie kann ich jetzt diese variablen Name und Vorname auslesen ?
<KUNDE NAME="MÜLLER" VORNAME="HANS"/>
Mit NodeValue scheint es ja nicht zu funktionieren. Dnke Sascha |
Re: XML mit DOM parsen
Bei Xerces wuerde sowas als Attribut laufen, gibt es was derartiges in deiner "daten" Variable?
|
Re: XML mit DOM parsen
Erst solltest Du angeben, mit welchen Parser (MSXML, OPENXML, ...) dein Programm verwendet.
Für Delphi gibt es ca. 1/2 Duzent gute Parser (Persönliche Empfehle ich ![]() |
Re: XML mit DOM parsen
Sorry,
verwende XDOM 2.3.33. Ich weiß auch mittlerweile, dass es sich um um Attribute handelt. Nur den Parsalgotihmus dafür hab ich noch nicht ganz ausgetüfftelt. Es geht um das Auslesen von täglichen Wechselkursen der EZB. Der XML String sieht wiefolgt aus.
XML-Code:
... mich interessieren nur das Datum und bestimmte Währungen. Das heißt ich muss Das Attribut
<gesmes:Envelope>
<gesmes:subject>Reference rates</gesmes:subject> <gesmes:Sender> <gesmes:name>European Central Bank</gesmes:name> </gesmes:Sender> <Cube> <Cube time="2004-11-04"> <Cube currency="USD" rate="1.2874"/> <Cube currency="JPY" rate="136.64"/> <Cube currency="DKK" rate="7.4330"/> </Cube> </Cube> </gesmes:Envelope> currency abfragen und bei positivem Ergebnis die rate auslesen. Hab nur wenig XML Erfahrung. Hat jemand ne Idee, wie ich das mit DOM 2.3.33 am unkompliziertesten anstelle ? thanx |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 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-2025 by Thomas Breitkreuz