Unterschiedliche Datenstruktur XML <-> Java mappen

Andreas29

Bekanntes Mitglied
Hi,

ich habe eine fest vorgegebene XML und Java Datenstruktur, die leider, leider nicht zueinander passen. Ich muss aber in beide Richtungen mappen. Mal ein Beispiel:

XML:
[XML]
<root>
<child>
<childchild>Text</childchild>
<child>
</root>
[/XML]

Java:
Java:
@XmlRootElement(root)
public class Root {
    @XmlElement(???)
    private String childchild;

Sprich, in meiner XML-Datenstruktur gib es Zwischenebenen, die es in meiner Javawelt nicht gibt. Momentan generiere ich mir ein passgenaues Datenmodell mittels JAXB und kopiere dann die Daten in Java zwischen den beiden Datenmodellen hin und her. Das empfinde ich als unschöne Lösung. Ich würde gerne wissen, ob ich JAXB irgendwie sagen kann, dass er den Wert für childchild nicht direkt unter dem root-Element sucht, sondern innerhalb von child und das ganze ohne dass ich eine Java-Klasse child habe. Funktioniert das? Kann mir da irgendwer helfen?

Danke und Grüße sowie schönen Feierabend,
Andreas
 

RySa

Bekanntes Mitglied
Stichwort: XPath

//childchild - Selects all childchild elements no matter where they are in the document

root//childchild - Selects all childchild elements that are descendant of the root element, no matter where they are under the root element

child - Selects all the child nodes of the child element
 

eRaaaa

Top Contributor
Stichwort: XPath

//childchild - Selects all childchild elements no matter where they are in the document

root//childchild - Selects all childchild elements that are descendant of the root element, no matter where they are under the root element

child - Selects all the child nodes of the child element

Und wie hilft ihm jetzt diese Antwort weiter? @XmlPath wie in EclipseLink MOXy würde helfen, das gibts aber soweit ich weiss normal nicht oder? Damit ginge so etwas wie
Java:
@XmlRootElement(name="root")
@XmlAccessorType(XmlAccessType.FIELD)
 class Root {

	@XmlPath("/child/childchild/text()")
	private String childchild;
}

Ansonsten vlt einfach eine statische innere Klasse? ElementWrapper? (hättest dann aber eben eine Liste mit 1 String :D)

Aber vlt ergänzt RySa ja noch was zu seinem Post ?!
 

RySa

Bekanntes Mitglied
Ich würde gerne wissen, ob ich JAXB irgendwie sagen kann, dass er den Wert für childchild nicht direkt unter dem root-Element sucht, sondern innerhalb von child und das ganze ohne dass ich eine Java-Klasse child habe. Funktioniert das? Kann mir da irgendwer helfen?

Also falls JAXB XPath nicht unterstützt, dann bestimmt so etwas ähnliches (wie du, eRaaaa, schon geschrieben hast) XmlPath ?
Ich denke auf die von mir zitierte Frage ist die Antwort doch zumindest als "Anregung" verständlich/klar/hilfreich, oder etwa nicht ?
 

Andreas29

Bekanntes Mitglied
Hi,

also ein Beispiel wäre wirklich nicht schlecht. Aber die Anregung mit dem XPath werde ich morgen gleich ausprobieren. Aber soweit ich informiert bin (bitte keine Steinung, wenn ich jetzt Blödsinn erzähle... :)) unterstützt JAXB kein XPath. Leider, sonst wäre es eine gute Möglichkeit. Bin momentan dabei, mir einen eigene Parser zu schreiben. Das Auslesen ist auch nicht das Problem, das war schnell runtercodiert. Jetzt muss ich noch das Rausschreiben coden, dass dürfte ein wenig schwerer werden...

Grüße und nochmals Danke!
Andreas
 

RySa

Bekanntes Mitglied
Also da war ich mir genauso nicht sicher ob das geht. Aber muss es denn unbedingt JAXB sein ? Falls du auf JAXB, aus welchem Grund auch immer, doch bestehen solltest, habe ich mal so etwas gefunden, sollte sich JXPath nennen. Weiß nicht ob es deinen Anforderungen entsprechen wird, da ich momentan keine Zeit habe mich da in die API einzuarbeiten. Kannst aber vielleicht versuchen:
Apache Commons Jxpath.
 

Andreas29

Bekanntes Mitglied
Hi,

ich habe mich jetzt mit Eclipse Link Moxy auseinandergesetzt und es erfüllt meine Bedingungen voll und ganz. Danke für den Tipp.

Grüße,
Andreas
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
L Datenstruktur in XML-File schreiben XML & JSON 2
T StAX / SAX => Wie XML Datenstruktur in Java abbilden? XML & JSON 2
W jaxws jaxb wsdl Java-Klassen generieren und binding.xml verwenden XML & JSON 1
iman XML Attribute mit JAVA einlesen mit Spring Batch XML & JSON 0
T Tags in XML Datei mit Java erstellen XML & JSON 3
E JAXB und java.nio.file.Path XML & JSON 4
B XML-Daten mit SAX Parser verarbeiten in Java XML & JSON 4
S Java REST Client + Json XML & JSON 8
L Lässt sich folgendes so oder so ähnlich mit Java und XML umsetzen XML & JSON 3
K XML Datei erstellen und Daten daraus in Java auslesen XML & JSON 6
L login - Java IOException jaas.config File or Directory not present XML & JSON 1
M Text eines Elements in XML Datei mit JAVA bearbeiten und kompletten Element-Zweig hinzufügen XML & JSON 16
J JSON zu Java mit der GSON Google API XML & JSON 0
B JAXB - java.util.Locale does not have a no-arg default constructor XML & JSON 2
E JAVA simple.JSONObject cannot be cast to simple.JSONArray XML & JSON 9
P Einheiten in Java XML & JSON 4
T Visualisierung von XML Dateien in einer Java SwingGui XML & JSON 11
A WSDL und Java XML & JSON 5
A XMLRPC für Java XML & JSON 3
S XML auf Java Klassen Mappen XML & JSON 10
N Java XML schreiben funktioniert nicht XML & JSON 1
B aus xsd Java Klassen generieren XML & JSON 3
MiMa Mehrfachvariablen in Java durch XML XML & JSON 4
Q XML-File als Objekt in Java XML & JSON 6
Q Konvertierung von json zum Java Objekt nach vorgegebenem Schema XML & JSON 3
AMStyles XPATH Befehl SVG Java XML & JSON 2
S Wie aktualisiert man den Java-Kode mit FOP1.0? XML & JSON 1
L XSL: Aufruf Java-class XML & JSON 11
N Java Code aus XML Datei generieren XML & JSON 8
GUI-Programmer java.io.File aus .jar beziehen XML & JSON 6
R XSD aus Java Klassen erzeugen?? XML & JSON 2
N xsd pattern in java einlesen XML & JSON 6
M java.lang.RuntimeException: Failed to parse document XML & JSON 4
F SOAP in Java XML & JSON 6
Q Atom/RSS-Feed lesen - per XSD zu Java-Code XML & JSON 4
S JAXB 2 und Java Annotationen/Interfaces generieren XML & JSON 3
N Google Wetter XML (nur current_condition) auslesen mit Java XML & JSON 15
F Einlesen von JDBC connection in Java von XML XML & JSON 4
D xsd->java mit Eclipse?! oder wie? XML & JSON 27
M Probleme mit XPath bei Java XML & JSON 5
_dp Java XML Parse error: findet end-tags nicht XML & JSON 10
V JAXB schema 2 java XML & JSON 3
S XJC --> Java-Objects compile Problem XML & JSON 4
G Mit JSON Java und C# verbinden XML & JSON 4
K XML Datei in ein Java package „einbinden" XML & JSON 3
H Java - XML - Rekursion - Verwirrung XML & JSON 6
F XML Datei in Java einlesen XML & JSON 4
J XSD > XML > Java XML & JSON 7
F XML mit Java XML & JSON 2
algorismi SVG Datein mit Batik in Java reinladen XML & JSON 3
S Java - Klassen erzeugen aus xsd bzw. wsdl XML & JSON 3
D ID's aus XML Datei rauslesen und in Java ausgeben XML & JSON 7
N value Wert einer XML Datei mit JAVA bearbeiten XML & JSON 21
Mike90 -xlsx Dateien in Java lesen XML & JSON 3
H XML plattformunabhängig/Open Source für Java XML & JSON 4
C Java-Imports bei Jaxb XML & JSON 8
slawaweis Problem mit XSLT (wahrscheinlich ein Bug in Java 6) XML & JSON 16
Fadi .classpath(XML) mit Java lesen XML & JSON 2
M Frage zu Erklärung im Online book "Java ist auch eine I XML & JSON 4
M Problem mit FOP in Java Programm XML & JSON 2
H Fop / Java /Fonts XML & JSON 6
H XSL Aufruf via Java mit neuen Fonts XML & JSON 9
T Java Klasse für gegebenes XML erstellen XML & JSON 4
M Xlink in Java-Objekt umwandeln XML & JSON 9
S Jdom+java webstart XML & JSON 4
P Einstieg in XML mit Java XML & JSON 3
G MS-Word Dokument mit Java erstellen XML & JSON 2
N AXIOM mit Java 1.4 XML & JSON 4
J DTD in Java integrieren? XML & JSON 3
L XML Datei in Java angeben Pfad? XML & JSON 3
G Problem mit XML-Schema Validierung mit Java XML & JSON 12
G XML mit JAVA an URL senden (http post) XML & JSON 12
D Java DOM Ausgabe ohne XML header XML & JSON 4
S XML Strings in JAVA einlesen, aber wie? XML & JSON 8
S Java 6 und Xerces-j-2-9 XML & JSON 3
E XML mit java einlesn XML & JSON 2
L mit Java eine HTML-Datei erstellen XML & JSON 3
O OpenDocument-Tabelle mit Java lesen und schreiben XML & JSON 3
G JAVA und DOM XML & JSON 2
M Java und XSLT: Performanz-Problem XML & JSON 5
P DTD -> Java XML & JSON 4
K xml --> sax --> java objekthierarchie XML & JSON 2
B DTD aus Java erzeugen XML & JSON 2
S JAVA XML Parser der einen String parst XML & JSON 3
K java + xpath -> performanceproblem XML & JSON 9
J schema-Validierung mit xerces und jdom: bug in java 1.4? XML & JSON 9
A Kann XML weitere XMLs inkludieren? Oder kann es Java? XML & JSON 5
vogella *Erledigt* XML und Java DOM Tutorial XML & JSON 3
T SOAP mit Java ohne HTTP Server möglich? XML & JSON 3
C HTML-Befehle per Java entfernen XML & JSON 7
W Java und XML - help request XML & JSON 3
M [SOLVED]Ausgabe mit Java XML & JSON 2
P Unterschiede java 1.4 und 1.3 XML & JSON 3
M generate SVG with java XML & JSON 2
G java+xml mit dom4j XML & JSON 4
P XSLT in Java verwenden XML & JSON 7
M Auswertung arithmetischer Ausdrücke mit SAX und Java XML & JSON 7
S XMl Dateien in Java schreiben XML & JSON 4
B XML-Document mit Java erzeugen und zuruecksenden XML & JSON 1
J Beispiel aus Java Magazin 03/2004 gesucht ! XML & JSON 6

Ähnliche Java Themen

Neue Themen


Oben