Depois de palestrar no Flisol, consegui identificar alguns pontos que as pessoas que estão aprendendo(ou interessadas em aprender) Java não sabem ou tem dúvidas. Por esse motivo, a partir de agora farei alguns posts visando desmistificar conceitos básicos, mas que muitos ainda não sabem.
Vamos começar hoje com o XML. A Wikipédia diz que o XML (eXstensible Markup Language) é uma recomendação da W3c para gerar linguagens de marcação para necessidades especiais. Uma frase muito bonita, mas que acredito que não tenha explicado muita coisa né? Então vamos ver uma utilidade do XML na prática.
Vou começar mostrando um exemplo de um XML. Para seguir esse tutorial é preciso usar a API XStream Suponhamos que quero guardar as informações (Nome, Cpf e Rg) de uma Pessoa. Posso não querer usar um Banco de Dados. Eis que surge o XML. Veja como ficaria:
Como deve ter observado acima, o XML deve ser auto-explicativo. Ou seja, temos a tag que indica que entramos na Pessoa. Dentro dela, temos , e respectivamente.
Agora você pergunta: "Como isso vai me ajudar?". Bom, esse Xml pode ser tornar um objeto do tipo Pessoa para que você possa manipulá-lo no Java. Veja abaixo:
Classe Pessoa:
Como deve ter visto, minha classe Pessoa segue a mesma estrutura do XML.
Agora vamos aprender a manipular os dois:
Como deve ter visto, o Xml é muito simples. Agora é só usar a lógica e aplicá-lo onde for necessário.
Vamos começar hoje com o XML. A Wikipédia diz que o XML (eXstensible Markup Language) é uma recomendação da W3c para gerar linguagens de marcação para necessidades especiais. Uma frase muito bonita, mas que acredito que não tenha explicado muita coisa né? Então vamos ver uma utilidade do XML na prática.
Vou começar mostrando um exemplo de um XML. Para seguir esse tutorial é preciso usar a API XStream Suponhamos que quero guardar as informações (Nome, Cpf e Rg) de uma Pessoa. Posso não querer usar um Banco de Dados. Eis que surge o XML. Veja como ficaria:
| XML | | copy code | | ? |
| 1 | |
| 2 | <Pessoa> |
| 3 | <nome>Flávio Mendes</nome> |
| 4 | <cpf>111.111.111-11</cpf> |
| 5 | <rg>12345-67 SSP/DF</rg> |
| 6 | </Pessoa> |
| 7 |
Agora você pergunta: "Como isso vai me ajudar?". Bom, esse Xml pode ser tornar um objeto do tipo Pessoa para que você possa manipulá-lo no Java. Veja abaixo:
Classe Pessoa:
| Java | | copy code | | ? |
| 01 | |
| 02 | public class Pessoa { |
| 03 | private String nome;//temos o atributo nome |
| 04 | private String cpf;//atributo cpf |
| 05 | private String rg;//atributo rg |
| 06 | |
| 07 | /** Getters e Setters*/ |
| 08 | public String getNome() { |
| 09 | return nome; |
| 10 | } |
| 11 | public void setNome(String nome) { |
| 12 | this.nome = nome; |
| 13 | } |
| 14 | public String getCpf() { |
| 15 | return cpf; |
| 16 | } |
| 17 | public void setCpf(String cpf) { |
| 18 | this.cpf = cpf; |
| 19 | } |
| 20 | public String getRg() { |
| 21 | return rg; |
| 22 | } |
| 23 | public void setRg(String rg) { |
| 24 | this.rg = rg; |
| 25 | } |
| 26 | } |
| 27 |
Como deve ter visto, minha classe Pessoa segue a mesma estrutura do XML.
Agora vamos aprender a manipular os dois:
| Java | | copy code | | ? |
| 01 | |
| 02 | public class TesteXml { |
| 03 | public static void main(String[] args) { |
| 04 | XStream xStream = new XStream();//instancia um objeto do tipo XStream |
| 05 | Pessoa pessoa = (Pessoa) xStream.fromXML("<Pessoa>" +//o comando fromXml transforma o xml em um objeto |
| 06 | "<nome>Flávio Mendes</nome>" + |
| 07 | "<cpf>111.111.111-11</cpf>" + |
| 08 | "<rg>12345-67 SSP/DF</rg>" + |
| 09 | "</Pessoa>"); |
| 10 | System.out.println(pessoa.getNome());//imprimindo os valores para conferir |
| 11 | System.out.println(pessoa.getCpf());//imprimindo os valores para conferir |
| 12 | System.out.println(pessoa.getRg());//imprimindo os valores para conferir |
| 13 | |
| 14 | String xml = xStream.toXML(pessoa); // o comando toXml transforma o objeto em um Xml |
| 15 | |
| 16 | System.out.println(xml);//imprimindo o xml para conferir |
| 17 | } |
| 18 | } |
| 19 |
Como deve ter visto, o Xml é muito simples. Agora é só usar a lógica e aplicá-lo onde for necessário.



#1 by Maurício Faustino on 30 de Abril de 2010 - 13:59
#2 by Max Mustang on 3 de Maio de 2010 - 19:50
só umas pergunta.. pra onde o xml é exportado?
em qual pasta ele fica depois do teste?
abraço
#3 by Flávio J. Mendes on 4 de Maio de 2010 - 9:00
Neste exemplo não salvei o arquivo, apenas armazenei o Xml gerado em uma String. Para salvá-lo em um arquivo deve-se usar a classe File para gerar um arquivo texto.