Frage

Jedes Mal, dass ich nach etwas, wie der Serialisierung in XML, fand ich die Bohne Serializer. Es scheint, dass alles, was als Eigenschaft deklariert werden muss, was meine Absicht besiegt. Ich möchte komplexe Hierarchien serialisiert (bis sie zu Primitiven bekommen, natürlich) in XML, beginnen Sie mit (sagen wir) ein Wörterbuch oder Liste als das übergeordnete Objekt.

Welche Möglichkeiten gibt es für die automatische XML-Serialisierung?

Ich fand einige Hinweise auf JAXB aus dem Jahr 2004, das ist immer noch der Weg zu gehen?

War es hilfreich?

Lösung

Versuchen Sie, die XStream Bibliothek. Es wird leicht jede komplexe Objekthierarchie serialisiert Sie an ihm werfen können.

Andere Tipps

Ich habe viel Erfolg mit JAXB hatte, vor allem, wenn die Unterstützung für ihn in NetBeans verwenden. Ich weiß für eine Tatsache, es unterstützt Listen. Ich habe es nicht mit Karten versucht, aber ich vermute, dass es funktioniert. Wenn nichts anderes, nur eine einfache Bohne machen, die die Liste enthält und lassen, dass die serialisierten Bohne sein.

Sie können über den Standard java.bean.XMLEncoder / Decoder Klassen serialisiert Sammlungen, weil der Mechanismus ermöglicht die Berufung von Methoden via XML. Die Ausgabe sieht etwas wie:

<object class="java.util.ArrayList">
  <void method="add">
    <string>Hello</string>
  </void>
  <void method="add">
    <string>World</string>
  </void>
</object>

Natürlich hat diese Schwächen; zum Beispiel serialisiert Sie können nicht einfach eine Collections.emptyXXXX() aber es gibt Abhilfen. Aber weil alles funktioniert nach der staatlich unterstützten API den Klassen, die persistente XML-Form ist elastisch zu Schemaänderungen.

Ich habe es gefunden ein sehr nützlicher persistenter Mechanismus für Java-Objekte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top