logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!

Trabalhando com XStream para leitura e geração de XML

Colocado por Gabriel Versallini na(s) categoria(s): 1, 4, api, app, apple, AR, Artigo, BI, boolean, C#, catch, class, classe, código, demo, desempenho, Download, email, Excel, for, ide, IE, if, int, Java, MXML, NaN, O, on, print, produtividade, pt, RIA, Ria’s Geral, S+S, string, TAT, Tema, Teste, try, UI, XML, XP em 08 31st, 2011 | Sem comentários

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



Veja o post original no blog do autor aqui!  

Gabriel Versallini

Escrito por Gabriel Versallini @ http://www.versallini.com.br
Saiba mais sobre o autor na sua pagina de perfil
Outros posts do autor:
» MyISAM ou InnoDB. Afinal qual devo usar?
» Aprendendo PHP – Parte 1
» Adobe X Apple?

Deixe um comentário



Spam Protection by WP-SpamFree

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com