Diferencia entre revisiones de «Simple XML»
De Dos Ideas.
(Creo una página nueva en la Wiki sobre Simple XML (framework para des/serializacion de XML)) |
(→Ver también) |
||
(No se muestran 2 ediciones intermedias del mismo usuario) | |||
Línea 17: | Línea 17: | ||
import org.simpleframework.xml.Element; | import org.simpleframework.xml.Element; | ||
− | |||
− | |||
public class Persona { | public class Persona { | ||
@Element | @Element | ||
Línea 71: | Línea 69: | ||
** [http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php Tutoriales desde el sitio oficial de Simple XML Framework] | ** [http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php Tutoriales desde el sitio oficial de Simple XML Framework] | ||
** [http://simple.sourceforge.net/download/stream/doc/examples/examples.php Ejemplos más complejos desde el sitio oficial de Simple XML Framework] | ** [http://simple.sourceforge.net/download/stream/doc/examples/examples.php Ejemplos más complejos desde el sitio oficial de Simple XML Framework] | ||
+ | * Proyecto de ejemplo (el código de este tutorial, con ejemplos funcionando más complejos): | ||
+ | ** SVN: http://dosideas-aplicaciones-modelo.googlecode.com/svn/test-simpleXmlFramework | ||
+ | ** Web: http://code.google.com/p/dosideas-aplicaciones-modelo/source/browse/#svn%2Ftest-simpleXmlFramework |
Revisión actual del 17:03 25 ene 2013
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, con ejemplos funcionando más complejos):