SAX Parser für C++
SAX Parser für C++
Hallo ZFX'ler,
ich wollte mal Fragen ob ihr mir eine kleine, schlanke (bitte keine externen Abhängigkeiten) SAX-Lib für C++ empfehlen könnt?
Ich möchte nämlich große XML-Dateien parsen, und SAX scheint ja dazu die bessere Wahl zu sein.
Gruß
ich wollte mal Fragen ob ihr mir eine kleine, schlanke (bitte keine externen Abhängigkeiten) SAX-Lib für C++ empfehlen könnt?
Ich möchte nämlich große XML-Dateien parsen, und SAX scheint ja dazu die bessere Wahl zu sein.
Gruß
-
- Establishment
- Beiträge: 426
- Registriert: 23.01.2013, 15:55
Re: SAX Parser für C++
Ich höre zum ersten mal, dass SAX am Schnellsten sein soll.
Wenn es um Performance bei der XML Verarbeitung geht, empfehle ich nämlich PugiXml und das ist DOM basiert. Die Bibliothek ist ziemlich schnell (Benchmark) und sehr einfach zu verwenden bzw. einzubinden. Ich habe damit schon problemlos hunderte MB große XML Dateien eingelesen.
Wenn es um Performance bei der XML Verarbeitung geht, empfehle ich nämlich PugiXml und das ist DOM basiert. Die Bibliothek ist ziemlich schnell (Benchmark) und sehr einfach zu verwenden bzw. einzubinden. Ich habe damit schon problemlos hunderte MB große XML Dateien eingelesen.
Re: SAX Parser für C++
Die Dateien die ich parsen möchte sind mehrere GB groß.
Mit DOM werden die ja komplette in den Arbeitsspeicher abgebildet...
Mit SAX holt man sich immer nur einzelne Teile aus der Datei.
Darum geht es mir..
Mit DOM werden die ja komplette in den Arbeitsspeicher abgebildet...
Mit SAX holt man sich immer nur einzelne Teile aus der Datei.
Darum geht es mir..
-
- Establishment
- Beiträge: 426
- Registriert: 23.01.2013, 15:55
Re: SAX Parser für C++
Aha ok. Das ist doch noch ein Stück größer als ich dachte. ;)
Auf einem 64 Bit System sollte es aber eigentlich aber erstmal kein Problem darstellen.
Vielleicht solltest du es einfach mal auf einen Versuch ankommen lassen.
Auf einem 64 Bit System sollte es aber eigentlich aber erstmal kein Problem darstellen.
Vielleicht solltest du es einfach mal auf einen Versuch ankommen lassen.
Re: SAX Parser für C++
Stimmt eigentlich. Mit 64bit hat man genug platz.
Na ich wollte auf nummer sicher gehen und dachte das hier jemand schon mal so eine Lib benutzt hat.
Na ich wollte auf nummer sicher gehen und dachte das hier jemand schon mal so eine Lib benutzt hat.
- Schrompf
- Moderator
- Beiträge: 5165
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: SAX Parser für C++
Ich benutze TinyXML, aber mehr aus historischen Gründen. Das ist ein DOM-Parser. Für Sax müsste http://rapidxml.sourceforge.net/ funktionieren.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: SAX Parser für C++
Also bei RapidXML steht nix auf der Webseite von SAX sondern nur das es der schnellste DOM-Parser ist...
Aber ich habe Xerces gefunden, welche sowohl per DOM als auch per SAX parst.
Ich stieß nämlich mal auf diese Lib: Libxml++, und da fand ich das schön benutzerfreundlich...
Aber diese Bibliothek hat wieder irgendwelche Abhängigkeiten zu anderen LIbs die man auch wieder bauen muss und Tod und Teufel und so :?
Naja, aber vlt brauche ich gar keinen SAX-Parser, und die großen Dateien kann ich trotzdem parsen...benutze auch TinyXML.
Trotzdem danke für die Antworten...
Aber ich habe Xerces gefunden, welche sowohl per DOM als auch per SAX parst.
Ich stieß nämlich mal auf diese Lib: Libxml++, und da fand ich das schön benutzerfreundlich...
Aber diese Bibliothek hat wieder irgendwelche Abhängigkeiten zu anderen LIbs die man auch wieder bauen muss und Tod und Teufel und so :?
Naja, aber vlt brauche ich gar keinen SAX-Parser, und die großen Dateien kann ich trotzdem parsen...benutze auch TinyXML.
Trotzdem danke für die Antworten...
Re: SAX Parser für C++
Auch auf die Gefahr hin, dass es schon zu spät ist:
Was hälst du von einem StaX parser? Das ist quasi ein Zwischending, ein Parser der nur die Elemente parsed, die man braucht.
D.h. man braucht nicht das ganze File/DOM im Memory, aber man muss sich auch nicht mit den Callbacks von SAX rumschlagen.
http://www.codeproject.com/Articles/587 ... -Cplusplus
Was hälst du von einem StaX parser? Das ist quasi ein Zwischending, ein Parser der nur die Elemente parsed, die man braucht.
D.h. man braucht nicht das ganze File/DOM im Memory, aber man muss sich auch nicht mit den Callbacks von SAX rumschlagen.
http://www.codeproject.com/Articles/587 ... -Cplusplus
Re: SAX Parser für C++
Ach quatsch!! Immer her damit^^NytroX hat geschrieben:Auch auf die Gefahr hin, dass es schon zu spät ist: [...]
Klingt auf jeden Fall interessant.
Ich werde es mir mal anschauen.
Danke :)
- skreutzer
- Beiträge: 1
- Registriert: 05.02.2018, 04:51
- Alter Benutzername: proggaholic
- Echter Name: Stephan Kreutzer
- Kontaktdaten:
Re: SAX Parser für C++
Ich habe einen sehr primitiven StAX-Parser in C++ gestartet, der zwar (noch?) ganz viel nicht kann oder noch nicht richtig, andererseits aber auch ohne Abhängigkeiten auskommt und vielleicht ausreichend ist.
Re: SAX Parser für C++
Guten Morgen,
das Projekt, für den ich den Parser gesucht hatte, habe ich sein gelassen bzw abgebrochen.
Es ging um das parsen von OSM-Dateien, die mehrere GB groß sein können. Letzten Endes hatte ich Xercses benutzt.
Schönes Projekt aber trotzdem.
Kann man vlt im Subforum/Thread "Nützliche OpenSource Projekte" verlinken :)
Also, ich meine dein Stax-Parse.
das Projekt, für den ich den Parser gesucht hatte, habe ich sein gelassen bzw abgebrochen.
Es ging um das parsen von OSM-Dateien, die mehrere GB groß sein können. Letzten Endes hatte ich Xercses benutzt.
Schönes Projekt aber trotzdem.
Kann man vlt im Subforum/Thread "Nützliche OpenSource Projekte" verlinken :)
Also, ich meine dein Stax-Parse.