PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Übersicht über XML-Bibliotheken gesucht



Sascha Bahl
18-05-2006, 15:26
Hallo!

Ich bin dabei zu entscheiden welche XML-Bilbliothek ich in Zukunft einsetzen will. Nun gibt es schonmal zwei Favouriten: libxml2 und Xerces. XML über QT fällt schonmal unter den Tisch! libxml2 ist sehr umfangreich und flexibel, aber auch sehr schwer zu handhaben. Xerces scheint mir auch sehr komplett zu sein aber sehr viel einfacher in der Handhabung. Auf den ersten Blick sehen die Funktionen von Xerces genauso aus wie die aus PHP mit dem ich auch schon sehr viel gearbeitet habe.

Was ich aber nicht weiss, ist die Geschwindigkeit der einzelnen Parser. Mich würde die Geschwindigkeit von sehr kleinen bis sehr großen XML-Dateien interessieren. Dann kommt es wahrscheinlich noch darauf an, ob diese sehr verschachtelt sind oder nicht.

Gibt es irgendwo in der Hinsicht eine Übersicht oder so? Wäre auch schön, wenn sich Benutzer der XML-Bibliotheken zu Wort melden könnten um hier ihre Erfahrungen zu schildern.

Danke

Sascha Bahl

RHBaum
19-05-2006, 12:46
Da sich die meisten XML Parser, zumindest die die was auf sich halten, an den DOM und SAX standard halten, iss dort die wahl eigentlich nur ne frage der Performance, und die frage wie man an die biblotheken kommt ^^

Die schnittstellen unterscheiden sich da kaum, nur in den details und den optionalen teilen ham die parser dann signifikante unterschiede.

wir benutzen hier hauptsachlichst QT und xerces.
Ausser msxml.dll tinyxml(nie verwendet) faellt mir auf anhieb nix ein.

Irgendwer hatte mal den msxml.dll angeschleppt mit toller COM-Schnittstelle, den nehmen wir nicht mehr ...

QT und xerces nehmen sich beim parsen mit SAX nicht wirklich was .... 4GB doofes XML, dauer aufm rechner 18min ca, war der xerces so ca. 20 sek schneller ...
Wobei ich nich dazu sagen kann inwiefern andere sachen da einfluss hatten, wie QString etc ...

Also eklatante geschwindigkeitsvorteile bekommst ned durch die Wahl des parsers, sondern durch interne performante stringbehandlung .... ich musste beim xerces auch ne menge optimieren (also Performant denken und nicht fuer alles gleich std:string nehmen), um ueberhaupt mit der QT version mitzukommen.

Bei grossen dateien faellt DOM sowieso raus ...

Zumindest bei uns deckt QT (fuer QT-Projekte klar) und xerces fuer nicht QT quasi alles zufriedenstellend ab.

Ciao ...