# XML-File als Objekt in Java



## quivadis (14. Jun 2012)

Hallo Freunde,

ich habe ein XML-File welches eine Struktur darstellt. Diese habe ich mit DOM im Speicher und kann darauf zugreifen. Nun möchte ich aber die Nodes und Atribute in Java als Objekte haben, weil ich die Beziehungen grafisch darstellen möchte.

Gibt es eine Möglichkeit aus dem DOM-Baum eine Java-Klassenstruktur oder zumindest Objekte erzeugen zu lassen?

Wenn nein, wie gehe ich am einfachsten vor? Im Moment itariere ich über jede node-Ebene, bekomme aber immer nur die Element der Ebene zurück. 

Ich würde mich sehr über einen neuen Denkanstoß oder eine Lösung freuen.

Quivadis


----------



## SlaterB (14. Jun 2012)

> bekomme aber immer nur die Element der Ebene zurück. 
ist ein Widerspruch zu 
> habe ich mit DOM im Speicher und kann darauf zugreifen.
oder kannst du doch nicht auf alles zugreifen?

DOM an sich muss funktionieren, der Durchlauf von oben bis unten, vom größten Einzeltext bis zum letzten Mini-Attribut,
wenn du ein Problem dabei hast, dann nenne es im Detail, hast du alle Methoden wie getChilds(), getAttributes() usw. getestet?

sofern DOM klappt ist es offensichtlich nur eine Fleißarbeit, alles zu durchlaufen und in eine andere Objektstruktur zu überführen,
wenn du diese für geeignetet als die schon vorhandene Objektstruktur von DOM hälst,
einen Automatismus dazu kenne ich nicht und kann ich mir auch nicht vorstellen, das ist gut in individuellen Code aufgehoben


----------



## quivadis (14. Jun 2012)

Hallo SlaterB,

ich habe das gesammte XMl-File im Speicher. Da es eine sehr Komplexe Struktur hat, habe ich erstmal zum testen noch nicht bis in die letzte Ebene alle Nodes / Elemente zur Kontrollte ausgeben.

Ich dachte es gibt ein Framework, welches mir etwas die arbeit abnimmt und ich nicht alles selbst machen muss. 



Quivadis


----------



## SlaterB (14. Jun 2012)

DOM ist ein dickes Framework, welches dir massig Arbeit abnimmt, aber eben nur Standardaufgaben, 
den individuellen Ablauf, den Kern deines Programms, den musst du schon selber programmieren

ein Taschenrechner kann Mrd. Funktionen beinhalten, wenn du aber 4+4 rechnen willst,
musst du dafür schon selber die Code-Zeile schreiben 
(nur die eine Zeile!, nicht die 1000 Maschinenbefehle dahinter)


beginne übrigens extra mit möglichst einfachen Dummy-XML

edit:
vielleicht gibt es doch sowas, Richtung
Java-XML mapping made easy with JAXB 2.0 - JavaWorld

mapping als Such-Stichwort


----------



## quivadis (14. Jun 2012)

Bis auf der 3.Ebene habe ich es mit der itaration getestet. Da sich aber die Struktur des XML-Files ändern kann, muss ich alles sehr dynamisch programmieren. Bis zur 3. Ebene ist die Strukur immer gleich, die Ebenen danach ändern sich immer. 

Die Zuordnung/Struktur der XML ist für mein Ziel noch nicht ausreichend, ich muss also so wieso noch eine Logik drüber legen. 

Mein Gedanke war halt erstmal nur dieser das es eine Methode gibt welches, mir eine Node mit Tags + Inhalt schon als Objekt zurückgibt, welches ich dann einfacher in meine Datenstruktur bekomme.

Danke für Deine Hilfe. Ich Teste das DOM-Framework mal weiter. 

Quivadis


----------



## SlaterB (14. Jun 2012)

JAXB im edit gesehen?


----------



## quivadis (14. Jun 2012)

Ich schaue es mir gerade an, Danke.


----------

