Olá! Neste artigo mostraremos um pouco do XStream, uma biblioteca Java open-source que permite a serialização de objetos em XML e vice-versa. Proporcionando ao programador um salto de produtividade na hora criar rotinas de importação e exportação com extrema rapidez e um desempenho excelente.
Vamos ao trabalho! Acesse o http://xstream.codehaus.org e faça download da biblioteca. Crie um projeto Java, referencie o arquivo xstream-1.4.1.jar no projeto e estará pronto para iniciar a codificação. Criaremos primeiro a nossa classe modelo, UsuarioVO:
package br.com.versallini.vo;
public class UsuarioVO
private Integer id;
private String name;
private String email;
// ... getters and setters
Agora criaremos o arquivo XML que será utilizado na importação, Usuario.xml:
2 Steve Jobs steve.jobs@apple.com.br
Agora sim podemos criar a nossa classe principal, XStreamUtil:
package br.com.versallini.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import br.com.versallini.vo.UsuarioVO;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
public class XStreamUtil
public static void main(String[] args)
XStreamUtil util = new XStreamUtil();
UsuarioVO user = new UsuarioVO();
user.setId(1);
user.setName("Gabriel Versallini");
user.setEmail("gabriel@versallini.com.br");
util.exportFile(user);
try
util.importFile();
catch (Exception e)
System.out.print(e.getMessage());
}
private void formatXML(XStream xstream, Boolean attribute)
xstream.alias("usuario", UsuarioVO.class);
if (attribute)
xstream.aliasAttribute(UsuarioVO.class, "id", "codigo");
xstream.aliasAttribute(UsuarioVO.class, "name", "nome");
xstream.aliasAttribute(UsuarioVO.class, "email", "email");
}
private void exportFile(UsuarioVO usuario)
XStream xstream = new XStream(new DomDriver());
formatXML(xstream, false);
String xml = xstream.toXML(usuario);
System.out.println(xml + "n");
private void importFile() throws IOException
File file = new File("./Usuario.xml");
InputStream inputStream = new FileInputStream(file);
XStream xstream = new XStream(new DomDriver());
formatXML(xstream, false);
UsuarioVO usuario = (UsuarioVO) xstream.fromXML(inputStream);
System.out.println("########################################");
System.out.println("ID: " + usuario.getId());
System.out.println("Nome: " + usuario.getName());
System.out.println("Email: " + usuario.getEmail());
System.out.println("########################################");
}
O método formatXML na linha 38 permite que a leitura ou geração do arquivo XML em 2 formatos (com ou sem atributos), veja a seguir:
1 Gabriel Versallini gabriel@versallini.com.br
Simples, não?! Faça seus testes e divirta-se.
Até a próxima!
Abraço




