Hallo
Wenn man komplexe Objekte von Java in XML speichern will, gibt es dafür etliche Tools. Wenn man nun aber KEINE Tools verwenden will, sondern die Daten von Hand speichern will, wie macht man das am besten? Man kann es "irgendwie" machen, aber wenn es um XML-Strukturen mit Veschachtelungstiefen von 10 (oder so) geht, kann man da wohl schon einiges falsch machen.
Ganz grob (!) und sinngemäß skizziert(!) könnte man verschiedene Ansätze verfolgen:
1. Man hat eine Klasse, die die XML-Verarbeitung regelt. Sie parst den kompletten XML-Baum, läuft im XML-Baum "runter", baut an den Blättern die "primitiven" Objekte, um diese dann zu immer größeren, komplexeren Objekten zusammengebaut werden, bis am Ende das riesige, komplexe Objekt erstellt werden kann, das der XML-Datei entspricht. Zum Schreiben von XML läuft das ganze analog.
2. Für jede Klasse gibt es einen passenden XMLReader/Writer, der einen Knoten bekommt, und daraus das passende Objekt erstellt (oder umgekehrt). Jeder dieser XMLReader verwendet für die unter-Objekte kleinere XMLReader als "Building Blocks".
3. Jede Klasse hat (sinngemäß) einen no-args-Konstruktor, und zwei Methoden wie "readFromNode(Node n)" und "Node createNode()", die die XML-Verwaltung für die Klasse selbst regeln.
Für mich kommen eigentlich nur zwei davon in Frage, aber welche davon sich (bei denjenigen, die sich damit schon intensiver beschäftigt haben) "bewährt" haben, würde mich interessieren. (Ich zähle aber mal nicht meine subjektiven Pros/Cons auf, um die Antworten nicht zu sehr zu beeinflussen
)
bye
Wenn man komplexe Objekte von Java in XML speichern will, gibt es dafür etliche Tools. Wenn man nun aber KEINE Tools verwenden will, sondern die Daten von Hand speichern will, wie macht man das am besten? Man kann es "irgendwie" machen, aber wenn es um XML-Strukturen mit Veschachtelungstiefen von 10 (oder so) geht, kann man da wohl schon einiges falsch machen.
Ganz grob (!) und sinngemäß skizziert(!) könnte man verschiedene Ansätze verfolgen:
1. Man hat eine Klasse, die die XML-Verarbeitung regelt. Sie parst den kompletten XML-Baum, läuft im XML-Baum "runter", baut an den Blättern die "primitiven" Objekte, um diese dann zu immer größeren, komplexeren Objekten zusammengebaut werden, bis am Ende das riesige, komplexe Objekt erstellt werden kann, das der XML-Datei entspricht. Zum Schreiben von XML läuft das ganze analog.
2. Für jede Klasse gibt es einen passenden XMLReader/Writer, der einen Knoten bekommt, und daraus das passende Objekt erstellt (oder umgekehrt). Jeder dieser XMLReader verwendet für die unter-Objekte kleinere XMLReader als "Building Blocks".
3. Jede Klasse hat (sinngemäß) einen no-args-Konstruktor, und zwei Methoden wie "readFromNode(Node n)" und "Node createNode()", die die XML-Verwaltung für die Klasse selbst regeln.
Für mich kommen eigentlich nur zwei davon in Frage, aber welche davon sich (bei denjenigen, die sich damit schon intensiver beschäftigt haben) "bewährt" haben, würde mich interessieren. (Ich zähle aber mal nicht meine subjektiven Pros/Cons auf, um die Antworten nicht zu sehr zu beeinflussen
bye