Mit XStream lassen sich Objekte einfach und schnell serialisieren

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:

ZDNet.de Redaktion

Recent Posts

AMD steigert Umsatz und Gewinn im ersten Quartal

Server-CPUs und Server-GPUs legen deutlich zu. Das Gaming-Segment schwächelt indes.

2 Stunden ago

Google stopft schwerwiegende Sicherheitslöcher in Chrome 124

Zwei Use-after-free-Bugs stecken in Picture In Picture und der WebGPU-Implementierung Dawn. Betroffen sind Chrome für…

2 Tagen ago

Studie: 91 Prozent der Ransomware-Opfer zahlen Lösegeld

Die durchschnittliche Lösegeldzahlung liegt bei 2,5 Millionen Dollar. Acht Prozent der Befragten zählten 2023 mehr…

2 Tagen ago

DMA: EU stuft auch Apples iPadOS als Gatekeeper ein

Eine neue Analyse der EU-Kommission sieht vor allem eine hohe Verbreitung von iPadOS bei Business-Nutzern.…

2 Tagen ago

Chips bescheren Samsung deutlichen Gewinnzuwachs

Das operative Ergebnis wächst um fast 6 Billionen Won auf 6,64 Billionen Won. Die Gewinne…

2 Tagen ago

Chrome: Google verschiebt das Aus für Drittanbietercookies

Ab Werk blockiert Chrome Cookies von Dritten nun frühestens ab Anfang 2025. Unter anderem gibt…

3 Tagen ago