Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi XML mit DOM parsen (https://www.delphipraxis.net/33295-xml-mit-dom-parsen.html)

wisher 4. Nov 2004 13:49


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:
<KUNDE>
   <NAME>MÜLLER<NAME>
   <VORNAME>HANS</VORNAME>
</KUNDE>
...dies lese ich in etwa so aus:

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:
<KUNDE NAME="MÜLLER" VORNAME="HANS"/>
wie kann ich jetzt diese variablen Name und Vorname auslesen ?
Mit NodeValue scheint es ja nicht zu funktionieren.

Dnke Sascha

Fubar 4. Nov 2004 18:38

Re: XML mit DOM parsen
 
Bei Xerces wuerde sowas als Attribut laufen, gibt es was derartiges in deiner "daten" Variable?

Bernhard Geyer 5. Nov 2004 07:23

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 OpenXML) welche alle Attribute auslesen können. Jedoch heißt die Methode evtl. etwas anders bzw. müssen 2-3 unterschiedliche Methoden aufgerufen werden.

wisher 5. Nov 2004 08:52

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:
<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>
... mich interessieren nur das Datum und bestimmte Währungen. Das heißt ich muss Das Attribut
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 22:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz