JAXB für die XML-Datenbindung verwenden
Java™ Architecture for XML Binding (JAXB) ist eine Java-Technologie, die eine einfache und komfortable Methode für die Zuordnung von Java-Klassen und ein XML-Schema für die vereinfachte Entwicklung von Web-Services bereitstellt. JAXB stellt den Schemacompiler "xjc", den Schemagenerator "schemagen" und ein Laufzeit-Framework für die Unterstützung des Marshaling und Unmarshaling von XML-Dokumenten in bzw. aus Java-Objekten bereit.
Informationen zu diesem Vorgang
JAXB ist eine Technologie für XML-Java-Bindungen, die die Umsetzung von Schema- in Java-Objekte (und umgekehrt) und von XML-Instanzdokumenten in Java-Objektinstanzen (und umgekehrt) ermöglicht. Die Technologie JAXB setzt sich aus einer Laufzeit-API und begleitenden Tools zusammen, die den Zugriff auf XML-Dokumente vereinfacht. Sie können JAXB-APIs und -Tools verwenden, um die Zuordnungen zwischen Java-Klassen und dem XML-Schema zu definieren. Ein XML-Schema definiert die Datenelemente und die Struktur eines XML-Dokuments. Die JAXB-Technologie stellt Tools bereit, mit denen Sie Ihre XML-Dokumente in Java-Objekte und umgekehrt konvertieren können. Der Zugriff auf die in einem XML-Dokument gespeicherten Daten ist ohne Verständnis der XML-Datenstruktur möglich.
JAXB ist die Standardtechnologie für Datenbindungen, die die Tools und die Implementierung von Java API for XML Web Services (JAX-WS) in diesem Produkt verwenden. Sie können JAXB-Objekte für Ihre JAX-WS-Anwendungen entwickeln. Außerdem können Sie JAXB unabhängig vom Programmiermodell JAX-WS verwenden, wenn Sie die XML-Datenbindungstechnologie nutzen möchten, um XML in Ihren Java-Anwendungen zu bearbeiten.


JAXB stellt das Schemacompilertool xjc, das Schemageneratortool schemagen und ein Laufzeitframework bereit. Mit dem Schemacompilertool xjc können Sie auf der Basis einer XML-Schemadefinition (XSD) einen Satz von JavaBeans erstellen, die den Elementen und den Typen zugeordnet werden können, die im XSD-Schema definiert sind. Sie können auch mit einem Satz von JavaBeans beginnen und mit dem Schemageneratortool schemagen das XML-Schema erstellen. Nach der Verwendung der befehlszeilenbasierten Schemacompiler- und Schemageneratortools können Sie Ihre XML-Dokumente in Java-Objekte und umgekehrt konvertieren und die generierten Java-Klassen verwenden, um eine Web-Service-Anwendung zu assemblieren.
Sie können diese JAXB-Tools nicht nur über die Befehlszeile, sondern auch in den Ant-Build-Umgebungen aufrufen. Verwenden Sie die Ant-Task com.sun.tools.xjc.XJCTask in der Ant-Build-Umgebung, um das Schemacompilertool xjc aufzurufen. Verwenden Sie die Ant-Task com.sun.tools.jxc.SchemaGenTask in der Ant-Build-Umgebung, um das Schemageneratortool schemagen aufzurufen. Diese Ant-Tasks setzen voraus, dass die Dateien "com.ibm.jaxb.tools.jar" und "com.ibm.jaxws.tools.jar" im Klassenpfad angegeben sind.
Annotierte JAXB-Klassen und -Artefakte enthalten alle Informationen, die die JAXB-Laufzeit-API benötigt, um XML-Instanzdokumente zu verarbeiten. Die JAXB-Laufzeit-API unterstützt das Marshaling von JAXB-Objekten in XML-Dateien und das Unmarshaling des Dokuments zurück in JAXB-Klasseninstanzen. Das JAXB-Bindungspaket javax.xml.bind definiert die abstrakten Klassen und Schnittstellen, die direkt mit Inhaltsklassen verwendet werden. Außerdem definiert das Paket die APIs für Marshaling und Unmarshaling.
Sie können wahlweise Anpassungen der JAXB-Bindungen verwenden, um die generierten Standardtypzuordnungen zu überschreiben. Die JAXB-Bindungen können mit Inline-Annotationen im Quellenschema angepasst werden oder mithilfe einer externen Bindungsanpassungsdatei. Damit werden Ihre Anpassungen an den JAXB-Bindungscompiler "xjc" weitergegeben, um die die Java-Typzuordnungen zu steuern. Alternativ dazu können Sie vorhandenen Java-Klassen Java-Annotationen hinzufügen. Diese werden an den Schemagenerator "schemagen" übergeben, um die Schema- oder XML-Typzuordnungen zu steuern. Lesen Sie hierzu die Informationen zu den Optionen für die Bindungsanpassung und zu den Java-Annotationen.
Mit JAXB können Sie Datenobjekte wie folgt bearbeiten:
Vorgehensweise
- Generieren Sie ein XML-Schema aus einer Java-Klasse. Verwenden Sie den Schemageneratorbefehl schemagen, um ein XML-Schema aus Java-Klassen zu generieren.
- Generieren Sie Java-Klassen aus einem XML-Schema. Verwenden Sie den Schemacompilerbefehl xjc, um einen Satz annotierter JAXB-Java-Klassen aus einem XML-Schema zu erstellen.
- Führen Sie das Marshaling und Unmarshaling von XML-Dokumenten aus. Wenn die Zuordnung zwischen dem XML-Schema und den Java-Klassen vorhanden ist, verwenden Sie die Laufzeitumgebung für JAXB-Bindungen, um XML-Instanzdokumente in Java-Objekte zu konvertieren und umgekehrt.