AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Objekte in XML speichern

Ein Thema von EConvertError · begonnen am 19. Apr 2006 · letzter Beitrag vom 4. Mai 2006
Antwort Antwort
Seite 4 von 4   « Erste     234
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#31

Re: Objekte in XML speichern

  Alt 4. Mai 2006, 12:57
Danke für Alles!

@mschaefer:
In der Tat habe ich schon einmal daran gedacht mir selbst so einen kleinen SAX-Parser (nach dem Muster des XMLReader in .net) zu schreiben. Da hätte ich mir solche schlanken XML-Komponenten angesehen.
Kann leicht sein, dass ich das noch tun werde, wobei diese Aufgabe sicher nicht trivial ist. Selbst schreiben deshalb, weil ich entweder einen "richtigen" Parser, wie MSXML verwenden will, oder ganz auf Fremdkomponenten verzichten will. Auf jeden Fall reizt mich das sehr...mal sehen ob mal was draus wird...

@marabu:
Ich glaube, dass ich jetzt genug Informationen habe, um selbst eine Entscheidung zu fällen. Dass ich Deserialisierung und Serialisierung auf die gleiche Weise mache, ist meiner Meinung nach logisch. Um das Henne-Ei-Problem zu lösen, überlade ich einfach den Konstruktor.

Mir kommt es nicht unbedingt auf weniger Lines-Of-Code an, sondern auf die eleganteste Lösung.

Ein letztes Problem bleibt allerdings noch für mich:
Ist es eine gute Idee in einem Projekt sowohl SAX aus MSXML als auch IXMLDocument (DOM) aus der Unit XMLDoc zu verwenden (jeweils für verschiedene Zwecke natürlich)?
Delphi-Quellcode:
var doc: IXMLDocument
begin
  doc := NewXMLDocument;
end;
Oder habe ich dann sozusagen doppelten Code und ich sollte besser direkt die MSXML-DOM Implementation verwenden?
Weil das TXMLDocument ja auch MSXML unterstützt, aber ich bei IXMLDocument nicht sicher bin, welche Implementation verwendet wird. Und für nicht visuelle Komponenten empfiehlt Borland ja IXMLDocument statt TXMLDocument (gab mal so einen Artikel auf CodeCentral).

Ansonsten betrachte ich das Problem als erledigt.

Vielen Dank,
Andreas
Andreas N.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#32

Re: Objekte in XML speichern

  Alt 4. Mai 2006, 13:18
Hallo Andreas,

ich würde versuchen in einem Projekt entweder mit MSXML oder mit MSXML2 zu arbeiten. Den von dir erwähnten Artikel kenne ich jetzt nicht, aber der wesentliche Vorteil der Borland XML Implementierung ist die Unabhängigkeit vom DOM Vendor MS.

Wenn du dich an der Implementierung eines XML-Parsers versuchen willst, dann wäre eine passive Komponente das richtige für dich. Der Vorteil, den ich auch in einem Kundenprojekt genutzt habe, ist die Stop-And-Go Fähigkeit - ein SAX-Parser kennt keine Bremse.

marabu
  Mit Zitat antworten Zitat
EConvertError

Registriert seit: 29. Sep 2003
Ort: Österreich
230 Beiträge
 
#33

Re: Objekte in XML speichern

  Alt 4. Mai 2006, 19:11
Vielen Dank!

Ok, dann werde ich versuchen, die XML-Implementationen in einem Projekt nicht zu mischen. Ich finde den Artikel auf CodeCentral nicht mehr, aber es geht darin darum, dass ein während der Laufzeit dynamisch erzeugtes TXMLDocument zu AccessViolations führt. Laut Borland liegt die Lösung darin, das IXMLDocument Interface zu verwenden, was eigentlich auch super funktioniert.

Ja, ich denke, dass ich mich an einem XML-Parser versuchen will. Er soll so ähnlich wie SAX den Streaming-Ansatz verwenden, aber nicht über Events arbeiten, sondern über das Pull-Modell. D.h. ähnlich wie in einem TFileStream möchte ich von einem XML-Element zu nächsten navivigieren. Damit wäre auch die Stop-And-Go Fähigkeit dabei.
Hoffentlich wird was draus...

Somit betrachte ich meine Fragen als beantwortet und versuche mich an dem Parser. Bei Fragen eröffne ich einen neuen Thread, da das den Rahmen dieses Threads wohl sprengen würde.

Ich bedanke mich hiermit noch einmal herzlich,
Andreas
Andreas N.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf