Serialisation d'un objet JAVA en XML avec JAXB
La sérialisation permet de convertir les objets JAVA en
Bytes pour les envois réseaux, mais parfois on a besoin d’un format de fichier intermédiaire
tel que XML, pour assurer la compatibilité entre différentes plateformes.
Dans ce tutoriel on va apprendre à sérialiser n’importe quel
objet JAVA en XML avec les API JAXB de ORACLE.
JAXB : permettant de créer des classes Java à partir de
schémas et inversement. Elle facilite l'utilisation du XML en Java en compilant
un schéma XML dans une ou plusieurs classes.
Prérequis :
IDE : Eclipse, STS.
On va créer un simple projet JAVA avec 3 packages, afin de
séparer les modèles (classe à traiter), la classe de conversion, et la classe
pour tester (contenant une méthode main).
On commence par créer la classe à sérialiser :
Adherent.java
remarquez qu'on a utilisé l'annotation @XmlRootElement pour permettre le mapping entre la classe et le XML.
ensuite on va créer la classe contenant les éléments nécessaires pour la serialisation qu'on la nommera :
ObjectToXml.java
- JAXBContext : le point d'entré pour utiliser l'API JAXB.
- MarShaller : c'est l'objet qui permet de formatter le document XML.
- StringWriter : est l'objet qui permet de créer un flux a partir d'un objet JAVA, n'oubliez jamais d'utiliser close() à la fin du traitement.
vous pouvez remarquez qu'on a utiliser un fabrique qui permettra d'enregistrer le fichier en concaténant le nom de la classe de l'objet à sérialiser et la date/heure du traitement plus l'extension .xml (utile pour l'automatisation des traitement).
Finalement, la classe contenant la méthode main() pour pouvoir tester l'application :
ExecSerialisation.java
remarquez que cette application pourra sérialiser n'importe quelle classe écrite en java.
vous n'avez plus qu'a l’exécuter en tant qu'une application Java.
voici le résultat :
Allez à vos claviers.
Commentaires
Enregistrer un commentaire