web 2.0

sábado, 27 de febrero de 2010

Serializar objetos Java a XML



Mediante XStream podemos crear de manera extremadamente fácil un XML. En este ejemplo, aprenderemos la manera de hacerlo, para ello descarguemos la distribución binaria de la página oficial.-

HERRAMIENTAS

  • Equipo portatil Acer Aspire, Intel Celeron 1.86 Ghz, 1 GB RAM
  • Mandriva 2009, KDE 4
  • XStream 1.3.1
  • Eclipse 3.4.2-

DESARROLLO

Antes que nada, debemos agregar las librerias XStream a nuesro entorno de desarrollo, ya sea Eclipse, NetBeans o cualquier otro. En este enlace puedes ver como agregar librerias a eclipse. Las librerias que agregaremos para este ejemplo serán “xstream-1.3.1.jar”  y “xpp3_min-1.1.4c.jar”.
Posteriormente creamos un proyecto Dynamic Web. Creamos una clase Java llamada “Direccion” y posteriormente otra llamada “Persona” dentro del paquete “beans”.
package beans;

public class Direccion {

 private String calle;
 private String colonia;
 private String municipio;
 private String estado;
 private int cp;

}
package beans;

import java.util.ArrayList;

public class Persona {

private String nombre;
private String apaterno;
private String amaterno;
private ArrayList direccion;

}
Finalmente encapsulamos todos atributos en sus métodos setter y getter, seleccionando los atributos y dando click derecho sobre la selección para escoger la opción de “Source–Generate Getters and Setters”.
Ahora crearemos una clase llamada TestXML dentro del paquete test, y copiaremos el siguiente código:
public class TestXML {

public static void main(String args[])
{
Direccion direccion = new Direccion(
"Aqui la calle","Aqui la colonia","Aqui municipio",
"Aqui el estado", 12345);

Persona persona = new Persona(
"Ascari", "Romo", "Pedraza", direccion);

XStream stream = new XStream();
stream.alias("persona", Persona.class);

String xml = stream.toXML(persona);
System.out.print(xml);

}
Como ven es muy fácil, ahora más interesante será obtener los datos de un manejador de BD, crear el XML como ya se explico y enviarlo a la capa de presentación en Flex para su visualización.