Java Language Scrivere un file XML (eseguire il marshalling di un oggetto)


Esempio

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class User {

    private long userID;
    private String name;
    
    // getters and setters
}

Usando l'annotazione XMLRootElement , possiamo contrassegnare una classe come elemento radice di un file XML.

import java.io.File;
import javax.xml.bind.JAXB;

public class XMLCreator {
    public static void main(String[] args) {
        User user = new User();
        user.setName("Jon Skeet");
        user.setUserID(8884321);

        try {
            JAXB.marshal(user, new File("UserDetails.xml"));
        } catch (Exception e) {
            System.err.println("Exception occurred while writing in XML!");
        } finally {
            System.out.println("XML created");
        }
    }
}

marshal() è usato per scrivere il contenuto dell'oggetto in un file XML. Qui user oggetto user e un nuovo oggetto File vengono passati come argomenti al marshal() .

In caso di esecuzione riuscita, viene creato un file XML denominato UserDetails.xml nel percorso classe con il contenuto sottostante.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<user>
    <name>Jon Skeet</name>
    <userID>8884321</userID>
</user>