JAXB - Unmarshal -> Kinder bekommen und die Kinder von den Kinder

beta20

Top Contributor
Hallo zusammen,

ich habe eine XML (mittels JAXB marshal) erstellt und möchte nun diese einlesen.
Das funktioniert auch mit folgendem Code:

Code:
            File file = new File(
                    "test.xml");

            JAXBContext jaxbContext = JAXBContext
                    .newInstance(MyClass.class);

            Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
            MyClass myClass = (MyClass) jaxbUnmarshaller
                    .unmarshal(file);
            System.out.println(myClass);

Damit bekomme ich auch das Objekt, das in meiner XML steht von der Klasse "MyClass" zurück.
MyClass hat allerdings noch weitere Elemente (nicht Attribute).
Gibt es eine Lösung auch diese alle bekommen?
Ich kann natürlich auch immer mit der Get - Methode von "MyClass" alle anderen Kinder abrufen. Problem ist aber: Die Kinderelemente können natürlich auch wieder Kinderelemente haben usw. (Sehr aufwändig und auch fehleranfällig)

Mein Ziel ist es:
1) XML einlesen (erledigt)
2) MyClass in Objekt umwandeln (erledigt)
3) Alle Kinder von MyClass bekommen (nicht erledigt) und jedes Objekt prüfen, ob in Datenbank vorhanden (Aufruf einer Methode, ist hier aber nicht das Thema...)
4) Kinder von den Kinder bekommen und ebenfalls prüfen, ob in der Datenbank vorhanden (nicht erledigt)

Kann mir hier bitte jemand helfen.
 
Ich erkläre es anhand eines Beispiels was ich als "weitere Elemente" meine:

Root: Auto
Weitere Elemente (=meine Kinder)
z.B.
- Reifen
- Sitz

Diese Kinderelemente haben dann wieder weitere Kinder
- Ventil
- .....
 
Dann machst du sonst was falsch. Wobei ich auch nicht verstehe, was eine Datenbank meinem einem unmarshall zu tun haben soll...
 

Zurück
Oben