Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Auf XML-Daten zugreifen (Parser von www.destructor.de) (https://www.delphipraxis.net/87363-auf-xml-daten-zugreifen-parser-von-www-destructor-de.html)

BillieJoe90 27. Feb 2007 16:27


Auf XML-Daten zugreifen (Parser von www.destructor.de)
 
Hallo,
eines vorweg: Bitte macht mich darauf aufmerksam, wenn ich jetzt etwas grundlegendes an XML nicht verstanden habe, oder ob es, so wie ich bis jetzt denke, an Delphi liegt.
Ich habe mir den XML-Parser von www.destructor.de heruntergeladen.
Auf folgender Seite findet sich nun ein kleines Tutorial:
http://www.destructor.de/xmlparser/doc/overview.htm

Meine Vorstellung ist folgende: Alle Daten werden in einem Array gespeichert, das ich dann später auslesen kann.
Doch irgendwie scheint meine Vorstellung nicht der Realität zu entsprechen. Ich verstehe nicht, wie ich nun auf die Werte bzw. überhaupt erstmal an die Elemente komme - wo werden diese gespeichert?

Ich weiß, hört sich jetzt an, als wenn ich "mal schnell" ne Lösung von euch haben möchte, ohne vorher nachzudenken, aber ich habe mich schon viel im Internet umgeguckt, aber auf keine Lösung gestoßen.

Also, ich wäre sehr sehr dankbar, wenn mir jemand meine Frage beantworten würde :)

Danke schonmal!

Johannes

DGL-luke 27. Feb 2007 16:31

Re: Auf XML-Daten zugreifen (Parser von www.destructor.de)
 
Hallo, du hast da einen reinen Parser vor dir. Mit dem du iterativ das XML-Dokument durchgehst. Schau dir lieber mal JvSimpleXML an, wenn du die JVCL hast.

Prinzipiell bekommst du immer eine Baumstruktur. Die müsstest du dir mit dem Parser selber basteln.

EDIT: Es gibt auch noch ThaXML von Muetze1, das macht die glaub ich auch n Document Object, also die Baumstruktur

BillieJoe90 27. Feb 2007 16:39

Re: Auf XML-Daten zugreifen (Parser von www.destructor.de)
 
Zitat:

Zitat von DGL-luke
Hallo, du hast da einen reinen Parser vor dir. Mit dem du iterativ das XML-Dokument durchgehst. Schau dir lieber mal JvSimpleXML an, wenn du die JVCL hast.

Prinzipiell bekommst du immer eine Baumstruktur. Die müsstest du dir mit dem Parser selber basteln.

Aah... jetzt weiß ich vielleicht, zu was der "XMLScanner" auf der Seite da ist - löst der mein Problem? Habe nämlich nicht so richtig verstanden, zu was der da ist :gruebel:

Daniel 27. Feb 2007 16:46

Re: Auf XML-Daten zugreifen (Parser von www.destructor.de)
 
Der Scanner von Destruktor.de zerlegt die XML-Datei in ihre syntaktischen Bestandteile. "Öffnendes Tag", "Das Zeuch im Tag", "Schließendes Tag" usw. Er betrachtet die XML-Datei als einen kontinuierlichen Datenstrom und kann während der Verarbeitung zwar sagen, wo er gerade lokal steht, aber die Baumstruktur als Ganzes ist ihm unbekannt. dafür musst Du dann sorgen.

Ich habe damit mal alle Beiträge der DP geparst und kam damit auf richtig hohe Geschwindigkeiten. Als Einstieg empfiehlt sich das Demo-Projekt, ich meine, das ist sogar der Scanner. Dort gibt's - das siehst Du dann im Code - ein zentrales Ereignis für "Irgendwas (Token) gefunden". Und dann kannst Du anhand der Parameter herausfinden, was das eigentlich ist, das der Scanner da gerade am Wickel hat und in den Ebenen Deines Arrays oder Baumes nach oben oder unten gehen.


Andere Parser gehen anders vor. Die schnappen sich zuerst die gesamte XML-Datei und bauen den Baum im Speicher auf. Danach siehst Du dann nett die einzelnen Ebenen und kannst sie in der Regel auf und zu klappen.

BillieJoe90 27. Feb 2007 16:51

Re: Auf XML-Daten zugreifen (Parser von www.destructor.de)
 
Danke für deine Antwort! Ich werde mich jetzt mal versuchen, in die Demo einzulesen! :hello:

Muetze1 27. Feb 2007 19:18

Re: Auf XML-Daten zugreifen (Parser von www.destructor.de)
 
Zitat:

Zitat von DGL-luke
EDIT: Es gibt auch noch ThaXML von Muetze1, das macht die glaub ich auch n Document Object, also die Baumstruktur

ThaXML ist nicht von mir, sondern von Andreas Resch. Meine XMLLib hat nichts mit ThaXML zu tun. In dem Link zu meiner Lib sind noch weitere Delphi XML Implementationen.

DGL-luke 28. Feb 2007 16:30

Re: Auf XML-Daten zugreifen (Parser von www.destructor.de)
 
Sorry, Name verwechselt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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