Einzelnen Beitrag anzeigen

OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#2

Re: XML - bei uns die richtige Wahl?

  Alt 31. Mär 2008, 12:17
Ich habe mit XML diesbezüglich zwei wesentliche Erfahrungen gemacht:
1. Du machst es dir immer am einfachsten, wenn du XML-Serialisierung verwenden kannst. Die geht fast automatisch und ist normalerweise, je nach Bibliothek, sehr schnell. In .NET wird beispielsweise für die Serialisierung Code generiert, der die Klassen sozusagen hartgecodet in XML schreiben und daraus lesen kann. Das funktioniert eigentlich auch mit größeren Dokumenten sehr angenehm.
2. Man kann XML ja auch zippen. Da sind erstaunlich hohe Komprimierungsraten möglich und die Geschwindigkeit ist gar nicht so schlecht. Eines meiner Projekte schaltet einfach einen GZipStream zwischen die Datei und die XML-Serialisierung, damit hat man sehr einfache Handhabung und es läuft bisher alles wunderbar und schnell genug (es müssen dabei ohnehin eine Menge andere Dinge gemacht werden, gegen die der XML-Overhead winzig wird).

Davon abgesehen bietet XML natürlich gewisse Vorteile wie das einfache Umwandeln in andere Formate, einfache Report-Generierung etc.
Ein Teil dieser Vorteile fällt bei dir jedoch weg, weil du ja anscheinend viele Daten doch wieder in einem speziellen Format kodierst.

Edit: Ich würde dir bei so großen Dokumenten grundsätzlich von einem DOM-Parser abraten und, wenn Serialisierung nicht verfügbar ist, entweder einen SAX-Parser oder einen Polling-Parser anraten, je nachdem, was du lieber magst oder besser für dein Dokument geeignet ist.

Als Fazit: Probier es aus. Schreib dir ein kleines Programm, dass dir eine beispielhafte, sehr große XML-Datei generiert und miss die Zeit, und dann lass das Programm die Datei wieder einlesen und miss wieder die Zeit (und die Dateigröße). Eine einfache Implementierung ist nicht aufwändig, aber damit kannst du auf jeden Fall herausfinden, ob die Performance oder die Datengröße ein Hinderungsgrund ist.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat