JAXB ist definitiv die Lösung.
Warum? Nun, es ist innerhalb des JDK 6, so dass Sie es nie unbeaufsichtigt finden werden.
Es verwendet Java-Annotationen, um XML-bezogene Eigenschaften für Klassen, Methoden und Felder zu deklarieren.
Tutorial 1
Tutorial 2
Hinweis: JAXB können Sie auch leicht zu 'Abstellungs' XML-Daten zurück (die zuvor von Java-Objekt-Instanzen vermarshallten wurde) Instanzen zu widersprechen.
Noch eine große Sache über JAXB wird: Es wird von anderen Java-bezogenen Technologien wie JAX-RS (eine Java RESTful API, die als Teil Java EE 6 availible ist) unterstützt. JAX-RS kann JAXB Objekte on the fly bedienen und empfangen, ohne dass es erforderlich ist, sie zu Marshalling/Unmarshalling zu senden. Sie möchten vielleicht Netbeans auschecken, die Out-of-the-Box-Unterstützung für JAX-RS enthält. Lesen Sie this tutorial für den Einstieg.
edit:
Um marshall/unmarshall 'zufällig' (oder fremde) Java-Objekte, JAXB bietet recht einfache Möglichkeit: Man kann ein XMLAdapter und 'wrap' bestehende Java-Klassen erklärt zu sein JAXB-kompatibel. Die Verwendung eines solchen XmlAdapter erfolgt mit dem @ XmlJavaTypeAdapter -annotation.
Dieses Paket scheint darauf ausgerichtet zu sein, eine vorhandene XML-Datei in Java-Code zu mappen, anstatt eine schnelle und schmutzige Persistenz von "zufälligen" Java-Objekten. ... das ist eine nützliche Sache zu tun, aber nicht ganz, was gefragt wurde, denke ich. – Roboprog
Bitte beachten Sie den Abschnitt Bearbeiten meiner Antwort –
JAXB ist für die Bindung, nicht Serialisierung. Verwenden Sie java.beans.XMLEncoder für die einfache Serialisierung. – erickson