Moin !
Ich bin gerade dabei etwas tiefer in das Thema
XML einzusteigen und wir überlegen generell ob wir unser selbst ersonnenes Datenformat in ein
XML basiert überführen sollten.
Aber ich bin mir noch nicht ganz sicher ob das eine so gute Entscheidung ist und evtl. kann hier jemand mal ein bisserl aus Erfahrung was dazu sagen.
Ein Hauptgrund für dieses Posting ist ein Kommentar von hier:
http://www.efpage.de/DelphiXML.html
Zitat:
...Bei einigen hundert kB stört das noch nicht so, aber bei großen Dateien werden sie die Verzögerung merken...
Ich beschreibe mal grob waraus unsere Dateien aufgebaut sind (das sind derzeit MemoryStreams die als Datei abgelegt werden):
Zunächstmal gibts da einen Header mit zig Informationen wie Datum, Uhrzeit, verwendetes Gerät, etc etc. Eigentlich etwas was geradezu geschaffen ist für
XML. Weiterhin befindet sich im Kopf auch noch eine INI Datei die als Text eingebettet wird.
Weiter geht es dann mit Blöcken (die Anzahl der Blöcke hängt vom User ab). ein Block besteht dabei im groben aus folgendem:
1) aufgezeichnete Daten - das sind serielle Telegramme die von einem Gerät aufgezeichnet werden.
2) TChart (teilweise mit eingebetteten Daten
3) 2 RTF´s
4) Statusinfos die für den Block benötigt werden
Nun können gerade die TChart Blöcke und die aufgezeichneten Daten recht lang werden. Es gibt User die machen Langzeitmessungen und da kann es vorkommen das ein Block an reinen Daten schon 24Stunden * 60 Minuten * 60 Sekunden * Telegrammlänge an Bytes hat.
Dazu kommt dann noch das TChart mit seinen Eigenschaften und ggf. sogar mit den Daten.
Also in Summe können da schon ganz ordentlich Daten zusammenkommen. Also ich sag mal in Summe bewegen wir uns im Schnitt so um die 1-20MB Dateigröße.
Macht es Sinn ein solches Konstrukt nach
XML umzustellen? Generell hätte
XML ja schon reizvolle Vorteile wenn ich so an das "direkte Lesen" der Dateien denke, oder das User die Daten ohne unser Zutun weiterverwenden könnten, oder den direkten Zugriff mittels XPath und das Wegfallen von Überprüfungen von Größe und Position wie es bei Streams immer von Nöten ist.
Wenn aber
XML die Sache verlangsamt, dann wäre es nicht so der Brüller
Vielleicht kann mir jemand da mal ein paar Tips / Argumente geben.