Array aus ArrayList erstellen

T

Timo2010

Hallo,

ich lese gerade mit JDOM ein XML-Dokument aus.
Meine Klasse liest rekursiv innerhalb des gesuchten Elementes alle Kindelemente aus.

Mein Problem ist jetzt, wie bekomme ich hieraus wiederum ein Array, das alle Kindelemente in der richtigen Reihenfolge ausgibt.
Ich wollte das gerne dynamisch erstellen, aber JAVA kann Arrays unglücklicherweise nur mit festen Werten erstellen.
Bin das von PHP etwas anders gewohnt.
Deswegen sind vorerst alle Werte in einer Liste.
Und hier ist wieder das Problem, das ich nur die Elemente in der richtigen Reihenfolge, aber nicht Tiefe bzw. Zugehörigkeit stehen habe.
Gut, dass lässt sich lösen, in dem ich den Iterator mit in die Liste packe, dann habe ich zwar immer einen String gefolgt vom einem Index in der Liste, aber das kann ich schon irgendwie wieder zerpflücken.
Momentan bewege ich mich nur im Kreis und brauche einen Tipp.

Gruß
Timo
 
In java.util findest du diverse Collections; vielleicht ist eine davon für dich brauchbar (z.B. TreeMap).
Oder lies dir mal genau die Beschreibung zu einem JTree durch. Möglicherweise kannst du ein geeignetes TreeModel entwerfen.
Oder du schreibst dir eine passende Node-Klasse, die wiederum ihre Kinder in einer Node-Auflistung verwaltet, beispielsweise als HashMap, was du dann rekursiv anwenden kannst, um wieder einen Baum zu erzeugen.
 
Hi Timo,

grundsätzliche würde ich empfehlen ein Datenmodel entsprechend der Struktur der XML-Datei anzulegen und diese Daten-Container dann mit den ausgelesenen Werten bzw. Verweisen aufeinander zu befüllen.
Ich mache dir das gern konkreter, wenn du ein Beispiel-XML liefern könntest.

Grüße
Carron
 
Wenn du ein XML-Schema dazu hast (du kannst zur Not auch eins manuell erstellen), dann kannst du dir mittels Jaxb Klassen generieren lassen und es automatisch parsen/rausschreiben lassen und man selbst muss sich fast nur um das befüllen/auslesen des Klassenbaums kümmern.
 
Zurück