Serialisation et deserialisation d'un objet vers du xml

Contenu du snippet

import java.beans.*;import java.io.*;public class XMLSerialisationSample {        public static void main(String[] args) {                // Création des noeuds        System.out.println("Affichage avant sérialisation :");        Node root = new Node("Racine");    // Noued racine        Node node1 = new Node("Noeud 1"); // D'autres noeuds        Node node2 = new Node("Noeud 2");                // Construction de la liste chainée        root.attach(node1);        node1.attach(node2);                // Affichage de notre liste        root.printList();                // Enregistrement de nos noeuds à partir de la racine        try {            XMLEncoder e = new XMLEncoder(                    new BufferedOutputStream(                    new FileOutputStream("TestNode.xml")));            e.writeObject(root);            e.close();        } catch (FileNotFoundException e1) {            e1.printStackTrace();        }                // Destruction de notre liste        node2 = null;        node1 = null;        root = null;                // Lecture (désérialisation) de notre fichier XML        try {            XMLDecoder d = new XMLDecoder(new BufferedInputStream(                    new FileInputStream("TestNode.xml")));            root = (Node) d.readObject();            d.close();        } catch (FileNotFoundException e) {            e.printStackTrace();        }                // Affichage de notre liste        System.out.println("Affichage après désérialisation :");        root.printList();    }}... Classe dans son propre fichier public class Node implements Serializable {    private Object value;    private Node prev;    private Node next;    public Node() {        prev = null;        next = null;        value = null;    }        public Node(Object val){        value = val;    }        public Node getNext() {        return next;    }    public void setNext(Node next) {        this.next = next;    }    public Node getPrev() {        return prev;    }    public void setPrev(Node prev) {        this.prev = prev;    }    public Object getValue() {        return value;    }    public void setValue(Object value) {        this.value = value;    }        public void attach(Node node){        next = node;        node.prev = this;    }        public boolean isFirst(){        return prev == null;    }        public void printList(){        Node n = this;        while (n != null){            System.out.print(n + "\n");            n = n.next;        }    }        public String toString() {        return "<Node> value = " + (value != null ? value : "NULL");    }}

Compatibilité : Java

Disponible dans d'autres langages :

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.