Kleine Helfer

Einfachere XML-Serialisierung für Java

25.08.2011
Von 
Diego Wyllie hat Wirtschaftsinformatik an der TU München studiert und verbringt als Softwareentwickler und Fachautor viel Zeit mit Schreiben – entweder Programmcode für Web- und Mobile-Anwendungen oder Fachartikel rund um Softwarethemen.
Das wenig bekannte, aber mächtige Framework "Simple” erleichtert die Arbeit mit XML-Inhalten in Java-Projekten.
Dieser Codeabschnitt zeigt, wie einfach es ist, mit dem Simple-Framework Java-Objekte zu serialisieren.
Dieser Codeabschnitt zeigt, wie einfach es ist, mit dem Simple-Framework Java-Objekte zu serialisieren.

XML-Tools und -Frameworks für die Java-Programmiersprache gibt es wie Sand am Meer. Sie helfen dem Entwickler, Routineaufgaben wie etwa das Parsen von XML-Inhalten oder das Generieren wohlgeformter XML-Dokumente schneller und effizienter zu erledigen. Zu den bekanntesten Vertretern dieser Produktklasse zählen unter anderem Xerces, Xalan, JXPath und JDom. Weniger bekannt ist dagegen das quelloffene Simple-Framework, das im Jahr 2006 veröffentlicht wurde.

Das Tool macht seinem Namen alle Ehre. Es bietet besonders einfache Mechanismen, um aus Java-Objekten (Plain Old Java Objects = POJO) XML-Dokumente zu erzeugen (XML-Serialisierung) und umgekehrt (XML-Deserialisierung). Der Clou: Der Serialisierungsprozess wird mittels Java-Annotations definiert. Dabei handelt es sich um Sprachkonstrukte, die die Einbindung von Metadaten in den Quelltext erlauben. In diesem Fall dienen einfache Annotationen wie "@Root”, "@Element” oder "@Attribute” der Markierung von Klassen und Variablen, die im XML-Format serialisiert werden sollen. Ist die XML-Struktur des zu serialisierenden Objekts einmal festgelegt, kann man es mit nur wenigen Zeilen Code konvertieren. Dazu erzeugt man eine Instanz der Klasse "Persister” und ruft die Methode "write()” auf (siehe Codebeispiel).

Auf diese Art und Weise und unter Verwendung weiterer Annotationen lassen sich beliebig komplexe Objekte serialisieren. Die Deserialisierung geht ebenso leicht: Durch den Aufruf der Methode "read()” parst die Persister-Klasse den gewünschten XML-Inhalt und erzeugt eine Instanz des annotierten Objekts.

CW-Fazit

Mit kaum einem anderen Tool lassen sich Java-Objekte so schnell und einfach im XML-Format serialisieren wie mit dem Simple-Framework. Neben der einfachen Nutzung überzeugt die Lösung auch durch ihre hohe Performance.

(Teaser-Bild: Fotolia/Sergej Seemann)