JAXB Domän klassen in DTO Klassen casten !!

skygowitch

Grünschnabel
Hallo zusammen,

ich möchte XML Daten in JFace TreeViewer darstellen.
Ich bin soweit gekommen, dass ich die Domänen Klassen über JAXB Parser generieren lasse.Dadurch sind Domänen Klassen an die Technologie gebunden werden.
Ich überlegen ob ich die generierten Klassen bzw die erzeugte Datenstruktur auch in eine eigene Datenstruktur einbinden.ist das die richtige Vorgehensweise****? ich bin aber nicht sicher, dass ich von jedem annotierten klassen eine entsprechende eigene Klassen erzeuge!
Meine zweite Frage ist : welche Möglichkeiten habe ich, um mit wenigen Aufwand, die über JAXB Unmarshaling-Konzept erzeugte Datenstruktur in der eigenen Datenstruktur zu casten.


Danke schon mal im voraus.
 
Hallo,

wenn ich dich richtig verstanden habe, möchtest du die Strukturen deiner XML Dokumente auf entsprechende Java Klassen abbilden. Je nach dem wie komplex deine XML Dokumente sind (und ob du tatsächlich alle Informationen aus dem Dokument benötigst), gibt es hier mehrere Vorgehensweisen, ich nenne jetzt mal 3:

1) Wenn die XML Dokumente einem XML Schema entsprechen kannst du aus diesem XSD ein entsprechendes Java Klassenmodell generieren lassen (Tool xjc)

2) Wenn du kein XML Schema hast, kannst du aus den XML Dokumenten ein Schema ableiten lassen. Das geht beispielsweise mit XMLBeans (http://xmlbeans.apache.org/) und dem Tool inst2xsd ... oder so ähnlich.

3) Alternativ könntest du, wenn du entsprechend Erfahrung mit JAXB hättest, von Hand ein Java Klassenmodell entwerfen und mit entsprechenden JAXB Annotations versehen um so das Mapping selbst zu beschreiben.

hier findest du ein kleines Beispiel, wie man mit JAXB aus einem Java Domain Model:
http://www.tutorials.de/java/263489-jaxb-tutorial.html

Ansonsten hier ein paar Beispiele wie man mit dem JFace TreeViewer eigene hierarchische Strukturen darstellen kann:
http://www.tutorials.de/swing-java2d-3d-swt-jface/262425-xml-file-als-tree-swt-darstellen.html
http://www.tutorials.de/java/259830-jface-treeviewer.html
http://www.tutorials.de/swing-java2...ee-mit-daten-fuellen-und-wieder-auslesen.html

Gruß Tom
 
Zurück