Mit XStream lassen sich Objekte einfach und schnell serialisieren

Zum mühelosen Erstellen von kleineren XML-Dateien eignet sich XStream besonders gut. Die Java-Bibliothek ist leicht zu nutzen, und die meisten Objekte können ohne vorgeschriebenes Mapping serialisiert werden. ZDNet stellt sie vor.

Für Konfigurationsdateien wird häufig, wenn auch nicht immer gerne, auf XML-Schemata zurückgegriffen. Programmierern in Unternehmen sind XML-Konfigurationsdateien jedoch oft nicht so leicht zugänglich, wie das eigentlich der Fall sein sollte. Obwohl XML reiner Text ist, lohnt es sich bei kleineren Anwendungen oft nicht, den hohen Aufwand des Parsens von XML in Kauf zu nehmen. Doch dafür gibt es XStream.

Die Aufgabe von XStream besteht nicht allein im Parsen von Konfigurationsdateien. Seine Entwickler beschreiben XStream als "einfache Bibliothek, um Daten aus einem Objekt in XML zu serialisieren und zu deserialisieren". Das macht klar, dass sich auf diese Weise einige hartnäckige Probleme lösen lassen. XStream eignet sich optimal zum Parsen und Schreiben kleiner, einfacher XML-Dateien im Stil von Konfigurationsdateien.

Das folgende einfache Beispiel soll demonstrieren, wie XStream sich verwenden lässt, um eine Konfigurationsdatei für eine fiktive Anwendung zu lesen, die den Standort eines Servers kennen muss.

Die Konfigurationsdatei sieht folgendermaßen aus:


<authServer>
<port>1080</port>
<server>localhost</server>
</authServer>

Und das ist der Code zum Lesen des XML und zum Erzeugen des AuthServerConfig-Objekts:


XStream xs = new XStream();
xs.alias("authServer", AuthServerConfig.class);
AuthServerConfig asc = (AuthServerConfig) xs.fromXML(xml);

Zu schön, um wahr zu sein? Nein, es ist tatsächlich so einfach. Bei XStream gibt es keinerlei externe Abhängigkeiten, es ist kein XML-Parser erforderlich, aber auch keine Mapping-Dateien und so weiter.

Wer nach einer einfachen Möglichkeit sucht, Objekte in XML zu importieren oder umgekehrt, sollte sich die Zeit nehmen, XStream einmal genauer anzusehen. Dann stellt sich schnell heraus, ob es vielleicht für die tägliche Arbeit - oder gelegentliche Spezialfälle - ganz hilfreich sein könnte.

Hier noch ein längeres Beispiel eines ähnlichen Codes:

Fanden Sie diesen Artikel nützlich?
6 von 7 Lesern fanden diesen Artikel nützlich.

Aktuelle Job-Angebote

ZDNet.de Live

Sex ...

Sex Tech: EFF Exposes Dating Site Security, Fileporn Shutdown, Facebook Sex Predator t.co/...

11.02.12, 00:20 von ZDNet
Guinn ...

Guinness World Record for Facebook comments now 1 million t.co/...

11.02.12, 00:20 von ZDNet
Chart ...

Chart Show: "wenn ich Candle in the Wind" höre, denke ich sofort an Lady Di" ... ach? Nein! Wie das nur?!? #gigafail

10.02.12, 23:39 von coke4all
Chrom ...

Chrome for Android -- best mobile browser t.co/...

10.02.12, 22:35 von ZDNet
UL, ...

UL, Drexel University partner to establish research hub t.co/...

10.02.12, 22:15 von ZDNet
wow! ...

wow! ein wirklich schickes Android, das nicht Tablet-Größe hat: t.co/... ... leider nur mäßige technische Daten.

10.02.12, 21:25 von coke4all
Googl ...

Google arbeitet angeblich an Home Entertainment System mit Cloudanbindung t.co/...

10.02.12, 21:10 von zdnet_de
Why ...

Why are young Japanese men losing interest in sex? t.co/...

10.02.12, 20:55 von ZDNet
What ...

What AMD's new roadmap means for users t.co/...

10.02.12, 20:40 von ZDNet
Manch ...

Manchester City is expanding its online reach to Japan t.co/...

10.02.12, 20:35 von ZDNet
Fours ...

Foursquare evolving into one-stop shop with NFC support t.co/...

10.02.12, 20:35 von ZDNet
Websi ...

Website der Gelben Seiten baut Bewertungsfunktionen aus t.co/...

10.02.12, 20:30 von zdnet_de
Motor ...

Motorola: Android-Updates verzögern sich wegen der Hardware-Vielfalt t.co/...

10.02.12, 20:00 von zdnet_de
Aktie ...

Aktienkurse dort wo man sie am liebsten sieht: auf dem Mülleimer! t.co/...

10.02.12, 19:50 von coke4all
Faceb ...

Facebook details Zuckerberg's $500,000 salary, 45% bonus t.co/...

10.02.12, 19:45 von ZDNet
New ...

New Microsoft Office University product comes with tougher verification rules t.co/...

10.02.12, 19:35 von ZDNet
#Prad ...

#Prada Phone by #LG 3.0 ausgepackt und ausprobiert - #smartphone #android t.co/...

10.02.12, 19:30 von cnet_de
Schon ...

Schon im Test: Prada Phone by LG 3.0 mit Android und superhellem Display t.co/...

10.02.12, 19:30 von cnet_de
Beta ...

Beta von Chrome 18 erweitert Hardwarebeschleunigung t.co/...

10.02.12, 19:30 von zdnet_de