Hallo Zusammen,
ich arbeite derzeit an einer Library für eine Schnittstelle. Diese kommuniziert über XML-Requests und Responses. Bisher habe ich alle XMLs in Klassen abgebildet. Das Parsen der XMLs in Klassen und umgekehrt mache ich mit dom4j und xpath. Das funktioniert auch sehr gut aber jetzt habe ich mir überlegt, ob vielleicht JAXB hier auch denkbar ist. Das manuelle Abbilden der XMLs ist nämlich sehr aufwendig.
Also meine Frage: kann ich beliebige XMLs unmarshallen?
Vllt ein kleines Beispiel (nur mal kurz zusammengetippt):
[XML]
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Test>
<List>
<Element prop1="1" prop2="2" />
<Element prop1="5" prop2="6" />
</List>
<OtherList>
<OtherElement stringprop1="asdf" prop4="2">Some Text</OtherElement>
<OtherElement stringprop1="hello" prop4="6">Some Text</OtherElement>
</OtherList>
</Test>[/XML]
wird zu:
die XMLs folgen keiner Schema Definition. Ich kann mir schwer vorstellen, dass ich eher willkürlich definierte XMLs mal so eben in Java abbilden kann hab aber mit JAXB bisher auch noch nichts gemacht (wichtig ist halt, dass auch was sinnvolles dabei rauskommt - bzgl. datentypen, referenzen, vererbung).
Grüße
nrg
ich arbeite derzeit an einer Library für eine Schnittstelle. Diese kommuniziert über XML-Requests und Responses. Bisher habe ich alle XMLs in Klassen abgebildet. Das Parsen der XMLs in Klassen und umgekehrt mache ich mit dom4j und xpath. Das funktioniert auch sehr gut aber jetzt habe ich mir überlegt, ob vielleicht JAXB hier auch denkbar ist. Das manuelle Abbilden der XMLs ist nämlich sehr aufwendig.
Also meine Frage: kann ich beliebige XMLs unmarshallen?
Vllt ein kleines Beispiel (nur mal kurz zusammengetippt):
[XML]
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Test>
<List>
<Element prop1="1" prop2="2" />
<Element prop1="5" prop2="6" />
</List>
<OtherList>
<OtherElement stringprop1="asdf" prop4="2">Some Text</OtherElement>
<OtherElement stringprop1="hello" prop4="6">Some Text</OtherElement>
</OtherList>
</Test>[/XML]
wird zu:
Java:
public class Test {
private List<Element> list;
private List<OtherElement> otherList;
// ....
}
public class Element {
private int prop1;
private int prop2;
// ....
}
public class OtherElement {
private String stringprop1;
private String text;
private int prop4;
// ....
}
die XMLs folgen keiner Schema Definition. Ich kann mir schwer vorstellen, dass ich eher willkürlich definierte XMLs mal so eben in Java abbilden kann hab aber mit JAXB bisher auch noch nichts gemacht (wichtig ist halt, dass auch was sinnvolles dabei rauskommt - bzgl. datentypen, referenzen, vererbung).
Grüße
nrg