Simple XML
De Dos Ideas.
								Contenido
Otro parser XML
Ese es el punto. ¿Por qué otro des/serializador de XML > Java | Java > XML? Para conocer otra herramienta, con sus pros y contras, que en alguna situación pueda resultar ser una mejor opción que otro como XStream, por ejemplo.
Si siguen leyendo vamos a ver como agregar esta biblioteca utilitaria y unos ejemplos de uso básicos y muy sencillos.
Agregar dependencia
Para agregar la dependencia, utilizando Maven, es suficiente con:
<dependency>
    <groupId>org.simpleframework</groupId>
    <artifactId>simple-xml</artifactId>
    <version>2.6.9</version>
</dependency>
- Se puede ver cuál es la última version disponible desde acá
 
La entidad
import org.simpleframework.xml.Element;
public class Persona {
    @Element
    private String identidad;
    @Element
    private int edad;
}
Serializar (Java > XML)
El método
public String obtenerXml(Persona persona) throws Exception {
    Serializer serializer = new Persister();
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    serializer.write(persona, outputStream);
    return outputStream.toString();
}
-  Nota: El método write(), para la version de este ejemplo, se puede llamar con:
- java.io.File
 - java.io.OutputStream
 - java.io.Writer
 - org.simpleframework.xml.stream.OutputNode
 
 
Resultado
<persona> <identidad>34123456</identidad> <edad>15</edad> </persona>
Deserializar (XML > Java)
El método
public Persona crear(String xml) throws Exception {
    Serializer serializer = new Persister();
    return serializer.read(Persona.class, xml);
}
- Nota: Vale mencionar que para deserializar un objeto es necesario que exista el constructor por default sin parámetros. De no hacerlo, lanzará una excepción:
 
org.simpleframework.xml.core.PersistenceException: Constructor not matched for class {miClase}
Alternativas para des/serialización de XML
- XStream
 
Ver también
- Sitio web oficial de Simple XML Framework.
 - Proyecto de ejemplo (el código de este tutorial):