Was ist das Java-Analogon der XML-Serialisierung von .NET?
java
xml
serialization
Dmitry Shechtman
quelle
quelle
Antworten:
2008 Antwort Die "offizielle" Java-API hierfür ist jetzt JAXB - Java API für XML-Bindung. Siehe Tutorial von Oracle . Die Referenzimplementierung befindet sich unter http://jaxb.java.net/.
Update 2018 Beachten Sie, dass die Java EE- und CORBA-Module in SE in JDK9 veraltet sind und in JDK11 aus SE entfernt werden müssen . Um JAXB verwenden zu können, muss es sich entweder in Ihrer vorhandenen Enterprise-Class-Umgebung befinden, die von Ihrem z. B. App-Server gebündelt wird, oder Sie müssen es manuell einspielen.
quelle
XStream ist ziemlich gut darin, Objekte ohne viel Konfiguration und Geld in XML zu serialisieren! (Es ist unter BSD-Lizenz).
Wir haben es in einem unserer Projekte verwendet, um die einfache alte Java-Serialisierung zu ersetzen, und es hat fast sofort funktioniert.
quelle
Projekt "Einfache XML-Serialisierung"
Vielleicht möchten Sie sich das Simple XML Serialization- Projekt ansehen . Es ist das, was ich der System.Xml.Serialization in .Net am nächsten gefunden habe.
quelle
JAXB ist Teil der JDK Standard Edition Version 1.6+. Es gibt also
FREE
keine zusätzlichen Bibliotheken zum Herunterladen und Verwalten. Ein einfaches Beispiel finden Sie hierXStream scheint tot zu sein. Das letzte Update war am 6. Dezember 2008. Es
Simple
scheint so einfach und einfacher zu sein wie JAXB, aber ich konnte keine Lizenzinformationen finden, um es für den Unternehmensgebrauch auszuwerten.quelle
Erwähnenswert ist, dass Java seit Version 1.4 die Klassen java.beans.XMLEncoder und java.beans.XMLDecoder hatte. Diese Klassen führen eine XML-Codierung durch, die zumindest sehr gut mit der XML-Serialisierung vergleichbar ist und unter bestimmten Umständen den Trick für Sie erledigt.
Wenn sich Ihre Klasse an die JavaBeans-Spezifikation für ihre Getter und Setter hält, ist diese Methode einfach zu verwenden und Sie benötigen kein Schema. Mit folgenden Einschränkungen:
Nehmen Sie zum Beispiel die folgende Erklärung:
Ausführen dieses Codes:
Würde zu folgender Datei führen:
quelle
java.beans.XMLDecoder
mit vom Benutzer bereitgestellten Daten zu Sicherheitslücken bei der Ausführung von Code in Ihrem Code führen kann.XMLBeans funktioniert hervorragend, wenn Sie ein Schema für Ihr XML haben. Es erstellt Java-Objekte für das Schema und einfach zu verwendende Analysemethoden.
quelle
Wenn Sie über die automatische XML-Serialisierung von Objekten sprechen, lesen Sie Castor :
quelle
Normalerweise verwende ich jaxb oder XMLBeans, wenn ich Objekte erstellen muss, die für XML serialisierbar sind. Jetzt kann ich diesen XStream sehen sehr nützlich sein kann, da es nicht aufdringlich ist und eine wirklich einfache API hat. Ich werde bald damit spielen und es wahrscheinlich benutzen. Der einzige Nachteil, den ich bemerkt habe, ist, dass ich die Objekt-ID nicht selbst für Querverweise erstellen kann.
@ Barak Schiller
Danke, dass du den Link zu XStream gepostet hast!
quelle
Vergiss JiBX nicht .
quelle
Wenn Sie eine strukturierte Lösung (wie ORM) wünschen, ist JAXB2 eine gute Lösung.
Wenn Sie eine Serialisierung wie DOT NET wünschen, können Sie die Langzeitpersistenz von JavaBeans-Komponenten verwenden
Die Wahl hängt von der Verwendung der Serialisierung ab.
quelle
quelle