Serialisieren mehrerer Objekte in EINE (XML)-Datei

Status
Nicht offen für weitere Antworten.

guni

Bekanntes Mitglied
Hallo Leute,

ich habe eine XML-Datei, die eine Menge (gleichartiger) serialisierter Objekte beinhaltet.
Wie würdet ihr mir raten sowas einzulesen.

Zur Zeit habe ich 3 Ansätze:

1. DOM:
* Die Datei in ein DOM-Objekt umwandeln.
* für jedes Objektelement einen deserialize machen.

2. XML als Text einlesen:
* die Datei als "normale" Textdatei behandeln und zeilenweise in einen Stringpuffer einlesen
* wenn das Objektelement geschlossen wird, den Puffer deserialisieren

3. die XML so aufbauen, dass sie als ganzes deserialisiert werden kann (sie gibt dann ein Array mit Objekten zurück).

Variante 1/3 sind sicherlich sehr speicherlastig; Variante 2 ist dafür vom Code her geringfügig aufwendiger.

Was schlagt ihr vor?!

Gibt es noch eine Variante die ich übersehen habe?!

mfg, guni
 

javimka

Top Contributor
Ich würde es mit DOM machen, statt das Rad selbst neu zu erfinden. Dadurch hast du eine standartisiertes und wohl auch mehr oder weniger performant und sinnvolles Framework. Das waren ja nicht die Dümmsten, die sich das überlegt haben :)
 

guni

Bekanntes Mitglied
hi javimka,

ja - grundsätzlich bin ich auch sehr angetan vom DOM-Konzept, aber wenn meine XML mal ein paar Megabyte groß ist ist die Frage, ob DOM noch immer das Beste ist ...
 

javimka

Top Contributor
Ich weiss zwar nicht, ob DOM eine 1MB-XML Datei gross aufbauscht oder so, aber ich finde einen Speicherverbrauch von weniger MB nicht so schlimm. Kommt halt drauf an, auf was für Maschinen du das laufen lassen willst.
 

guni

Bekanntes Mitglied
@faetzminator:
was genau meinst du mit containerklasse?! das Objekt kommt ja schon serialisiert (als Objekt) daher, warum brauch ich dann noch eine extra-Klasse und wie soll sie aussehen?!

@javimka: hmm ... sagen wir, die Dateien werden sich so in einer Größenordnung von bis zu 10 Mb bewegen. Dass heutige Computer das ohne Probleme machen is mir schon klar aber mir is es bei dem ganzen auch irgendwie um Eleganz gegangen und eine 10 MB-XML im Arbeitsspeicher liegen zu haben ist für meinen Geschmack nicht sehr elegant (da braucht ja schon Notepad ewig um sie aufzumachen) ...
und ausserdem könnte ich dann meine XML gleich so erzeugen, dass sie mir ein Object[] darstellt, dann spare ich mir DOM komplett, oder?!
 

javimka

Top Contributor
Da ich nichts über dein Projekt weiss, ausser dass du irgendein File reinlesen musst, kann ich das schwer beurteilen ;)
Schau einfach, dass es zu Gunsten von weniger Speicherbedarf nicht zu stark auf die Performance drückst. Ist dann auch nicht mehr elegant, wenn du irgendwas suchst und das dauert 5 Sekunden ;)
 

guni

Bekanntes Mitglied
ja. ich werde wohl richtung dom gehen.
diese lösung gefällt mir einfach zu gut um auf speicher rücksicht zu nehmen ;-)
 

guni

Bekanntes Mitglied
tja. ich komm gar nicht dazu, dass ich ein dom-objekt erzeuge weil ich in der xslt-transformation vorher schon einen memory-error bekomm:

java.lang.OutOfMemoryError: Java heap space

was kann ich denn gegen so einen fehler tun?! ich muss mein dokument doch transformieren!
 

guni

Bekanntes Mitglied
wie geht das?!
muss ich das dann für immer machen?
wie kann ich das im system einstellen / wie geht das einmalig?
 

Arbon

Bekanntes Mitglied
Der Speicher lässt sich mittels dem Parameter -Xmx erhöhen, zB -Xmx256m für 256 mb speicher.

Damit es automatisch gemacht wird, kann man zB eine Batch-Datei schreiben.

Einfach mal suchen, hier im Forum oder bei Google findet sich sicher eine Menge dazu.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Methoden Serialisieren Java Basics - Anfänger-Themen 17
H Interface Objekte speichern und laden (serialisieren/deserialisieren) Java Basics - Anfänger-Themen 1
J Serialisieren, aber wie? Java Basics - Anfänger-Themen 3
M Datum serialisieren Java Basics - Anfänger-Themen 1
M Serialisieren Java Basics - Anfänger-Themen 7
T Array serialisieren Java Basics - Anfänger-Themen 8
H Serialisieren Java Basics - Anfänger-Themen 9
E Serialisieren Java Basics - Anfänger-Themen 2
F Input/Output Serialisieren/Deserialisieren Java Basics - Anfänger-Themen 18
D Serialisieren, was bringt das? Java Basics - Anfänger-Themen 8
P Serialisieren-deserialisieren Java Basics - Anfänger-Themen 18
F Serialisieren Java Basics - Anfänger-Themen 35
K Serialisieren mit Progress Java Basics - Anfänger-Themen 2
D Serialisieren/deserialisieren Java Basics - Anfänger-Themen 37
S JFrame mit JTextPane serialisieren Java Basics - Anfänger-Themen 5
W Objekt (de-)serialisieren Java Basics - Anfänger-Themen 5
E ArrayList mit eigenen typ serialisieren? Java Basics - Anfänger-Themen 1
R Objecte Serialisieren / Deserialisieren Java Basics - Anfänger-Themen 2
S Klassen Serialisieren Java Basics - Anfänger-Themen 5
V Objekt serialisieren/Deserialisieren und per get verschicken Java Basics - Anfänger-Themen 5
J Serialisierung - Array-Objekt serialisieren/deserialisieren Java Basics - Anfänger-Themen 6
V Serialisieren einer ShortMessage (javax.sound.midi) Java Basics - Anfänger-Themen 5
M Serialisieren beim Schließen des Progs sicher beenden Java Basics - Anfänger-Themen 4
H Datei nach serialisieren leer ? Java Basics - Anfänger-Themen 10
G static var serialisieren möglich? Java Basics - Anfänger-Themen 4
Lulumann6 Serialisieren? Java Basics - Anfänger-Themen 9
artur.cichosz Objekt als String serialisieren Java Basics - Anfänger-Themen 7
M Problem beim Serialisieren Java Basics - Anfänger-Themen 7
S Generics serialisieren? Java Basics - Anfänger-Themen 2
C LinkedList serialisieren? Java Basics - Anfänger-Themen 22
G Color und String serialisieren Java Basics - Anfänger-Themen 2
G alle Instanzen einer Klasse serialisieren Java Basics - Anfänger-Themen 4
C Mehrere Objekte in einer Liste einfügen und serialisieren Java Basics - Anfänger-Themen 1
S Vector serialisieren Java Basics - Anfänger-Themen 4
C Objekt serialisieren Java Basics - Anfänger-Themen 5
W Gleichzeitiges ersetzen mehrerer Strings Java Basics - Anfänger-Themen 7
R Attribute mehrerer Objekte ausgeben Java Basics - Anfänger-Themen 3
C Finden mehrerer Lösungen Java Basics - Anfänger-Themen 0
P Klassen Berechnen mehrerer Map-Werte Java Basics - Anfänger-Themen 13
T Auslesen mehrerer jComboBox (-en) Java Basics - Anfänger-Themen 4
L Objekte zählen mehrerer Unterklassen Java Basics - Anfänger-Themen 3
L Zusammenführen mehrerer .txt Dateien Java Basics - Anfänger-Themen 4
E nur der erste (mehrerer Strings) wird ausgegeben Java Basics - Anfänger-Themen 15
E Allgemein Verständnissfrage zum Ablauf mehrerer Threads Java Basics - Anfänger-Themen 4
A Ausgabeanweisungen mehrerer Operanden Java Basics - Anfänger-Themen 4
G Gesamten clickCount mehrerer JPanels herausfinden Java Basics - Anfänger-Themen 5
F Problem mit Auslesen mehrerer jComboBoxen Java Basics - Anfänger-Themen 6
G Zusammenfassung mehrerer jar-Files Java Basics - Anfänger-Themen 3
G auf ende mehrerer threads warten Java Basics - Anfänger-Themen 2
Z Verschachteln mehrerer Arrays/Objekte (Telefonlisten) Java Basics - Anfänger-Themen 16
I Zapier -> wie werden Objekte gespeichert? Java Basics - Anfänger-Themen 10
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
K Hab ich dass so richtig erklärt (Objekte und Referenzen)? Java Basics - Anfänger-Themen 5
J Objekte in JSON speichern?? Java Basics - Anfänger-Themen 1
I Objekte in ShareProject speichern um später zu nutzen Java Basics - Anfänger-Themen 4
J Objekte Java Basics - Anfänger-Themen 22
T Objekte mit arrays erstellen Java Basics - Anfänger-Themen 6
Hzrfa Objekte, Referenz Java Basics - Anfänger-Themen 5
T 3D Objekte verarbeiten Java Basics - Anfänger-Themen 2
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
I XML einlesen und Objekte bekommen Java Basics - Anfänger-Themen 2
W Objekte einer ArrayList in txt-datei schreiben mit Paths? Java Basics - Anfänger-Themen 2
Encera Zugriff auf Map-Objekte Java Basics - Anfänger-Themen 3
E Objekte löschen Java Basics - Anfänger-Themen 9
P Array-Objekte-Aufruf Java Basics - Anfänger-Themen 22
Encera Auf Objekte aus anderer Klassen zugreifen Java Basics - Anfänger-Themen 20
P Zähler Variable für mehrere Objekte Java Basics - Anfänger-Themen 6
B Objekte verschwinden beim Übersetzen Java Basics - Anfänger-Themen 5
D Zwei verschiedene Intellij Projekte, wie benutze ich wechselseitig objekte Java Basics - Anfänger-Themen 8
E Rekursiv Objekte erzeugen - geht das? Java Basics - Anfänger-Themen 2
T Collections Sind Subklassen-Objekte in Listen mit Generics erlaubt? Java Basics - Anfänger-Themen 16
F Aus eingelesener Datei korrekt Objekte erzeugen Java Basics - Anfänger-Themen 5
G Übergeordnete Objekte abrufen Java Basics - Anfänger-Themen 9
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
B Objekte, bspw. konkret Arraylists,manuell aus Speicher löschen? Java Basics - Anfänger-Themen 70
S Objekte von zwei klassen in zwei verschiedene Textdateien schreiben Java Basics - Anfänger-Themen 5
D Wie Objekte im JFrame frei bewegen lassen? Java Basics - Anfänger-Themen 3
Spandeli8 Erzeugte Objekte gegenüber Bildern hervorheben in Java Processing Java Basics - Anfänger-Themen 1
J Zwei Objekte vergleichen Java Basics - Anfänger-Themen 8
L Werte von Objekte addieren Java Basics - Anfänger-Themen 14
U Objekte in LinkedList löschen und editieren Java Basics - Anfänger-Themen 14
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
J Problem mit einer Methode, die beliebig viele Objekte in Array speichern soll Java Basics - Anfänger-Themen 6
G Methoden Informationen aus zwei Objekte bekommen? Java Basics - Anfänger-Themen 6
P Globale Objekte Java Basics - Anfänger-Themen 2
C Nachträglich neue grafische Objekte hinzufügen Java Basics - Anfänger-Themen 7
D Interaktion zweier Objekte Java Basics - Anfänger-Themen 5
M Objekte in Array speichern und ausgeben Java Basics - Anfänger-Themen 17
S Objekte indiziert erstellen Java Basics - Anfänger-Themen 27
M Warum dürfen Objekte einer Klasse auf statische Variablen dieser Klasse referenzieren? Java Basics - Anfänger-Themen 10
M Objekte mittels equals vergleichen Java Basics - Anfänger-Themen 14
C Fernseher-Aufgabe (Methoden, Klassen und Objekte) Java Basics - Anfänger-Themen 63
N Typebound Objekte einer Arraylist hinzufügen Java Basics - Anfänger-Themen 7
A (Objekte Java Basics - Anfänger-Themen 6
Y Klassen Klassen und Objekte Java Basics - Anfänger-Themen 3
Y Klassen Klassen und Objekte mit set und get Java Basics - Anfänger-Themen 0
U Objekte in einer LinkedList sortieren Java Basics - Anfänger-Themen 5
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
G Java Objekte auf Duplikate testen Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben