15 junio 2008

Xml a Object, Object a Xml. Xstream

Hoy hablaré de Xstream, un serializador de xml y viceversa. Con el podemos convertir un objecto a un xml o un xml a un objecto.
Por ejemplo , supongamos que tenemos el siguiente xml que se corresponde con la clase posterior:

< com.jnovo.vgn.fachada.implementacion.vo.usuariovo>
< nombre>
jorge
< /nombre>
< apellido>
Novo
< /apellido>
< /com.jnovo.vgn.fachada.implementacion.vo.usuariovo>

tendremos una clase como esta


package com.jnovo.vgn.fachada.implementacion.vo;

import java.io.Serializable;
import java.util.Map;

/**
* @author Administrador
*
*/
public class UsuarioVO {


private String nombre;
private String apellido;

public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setApellido(String apellido) {
this.apellido= apellido;
}
public String getNombre() {
return nombre;
}
public String getApellido() {
return apellido;
}


}


si llamas a la clase Xstream

UsuarioVO usuario = new UsuarioVO();

XStream xstream = new XStream();

String xml = xstream.toXML(usuario); --->esto te convierte la clase a un xml


UsuarioVO usuario = (UsuarioVo)xstream.fromXML(xml); ----> convierte un xml a un objecto.

espero que os sirva, sobre todo aquellos que utilizais webservices de .Net llamados desde axis que tienen datasources dentro de un campo string.