Einfach das XML-Serialisierungsprogramm für Java
Ich bin auf der Suche nach einem Weg zum serialisieren von Java-Objekten in XML für die Verwendung durch einen RESTful web service. Ich habe nicht ein XSD.
Ich habe mir die folgenden:
-
JAXB - ziemlich schweres Gewicht mit Anmerkungen erforderlich, die auf Klassen und auch eine ObjectFactory-Klasse und/oder ein jaxb.index-Datei
-
Einfach - erfordert Anmerkungen, aber keine andere config-Klassen/Dateien. Leider kann es nicht serialisieren Setzt.
-
XStream - keine Anmerkungen etc. erforderlich, aber nicht unterstützt Generika
Hat sonst noch jemand irgendwelche Vorschläge?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine Stimme wäre für XStream. Das fehlen von Generika-Unterstützung ist ein kleiner Preis zu zahlen für die Höhe der Flexibilität, die es bietet. Sie können auch die einfache Implementierung von generics durch serialisieren der generischen Klasse geben Sie bei der Serialisierung, oder bauen Sie diese in Ihren domain-Objekte. E. g.
In den stream, den Typ des Elements kennzeichnet den Typ der einzelnen Objekte. Wenn der Typ ist ein abstrakter Art-oder interface-element angezeigt, mit dem die Umsetzung Klasse, es sei denn, das definiert wurde als Standard für diese Schnittstelle geben. (E. g. ArrayList als der Standardwert für Instanzen der statische Typ Liste.)
Generika sind "rosaroten Brille", die in java -, die Sie nicht wirklich ändern, was Sie sehen, nur wie Sie es sehen. Die Objekte werden über die Leitung gesendet genau das gleiche, wenn Sie waren geschickt mit generics unterstützen oder nicht.
JAXB ist ziemlich schmerzlos und kommt mit Java 6, und es hat eine geringe Stellfläche.
Erhalten Sie diese zum Preis von einer annotation.
Order.java
Item.java:
Test.java:
Ergebnisse:
Können Sie versuchen,JLibs XMLDocument. Es nutzt SAX, XML erstellen und somit leichter und haben die vollständige Kontrolle.