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
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:
public class Pessoa {
private String nome;//temos o atributo nome
private String cpf;//atributo cpf
private String rg;//atributo rg
/** Getters e Setters*/
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getRg() {
return rg;
}
public void setRg(String rg) {
this.rg = rg;
}
}
Como deve ter visto, minha classe Pessoa segue a mesma estrutura do XML.
Agora vamos aprender a manipular os dois:
public class TesteXml {
public static void main(String[] args) {
XStream xStream = new XStream();//instancia um objeto do tipo XStream
Pessoa pessoa = (Pessoa) xStream.fromXML("
"
"
"
"
System.out.println(pessoa.getNome());//imprimindo os valores para conferir
System.out.println(pessoa.getCpf());//imprimindo os valores para conferir
System.out.println(pessoa.getRg());//imprimindo os valores para conferir
String xml = xStream.toXML(pessoa); // o comando toXml transforma o objeto em um Xml
System.out.println(xml);//imprimindo o xml para conferir
}
}
Como deve ter visto, o Xml é muito simples. Agora é só usar a lógica e aplicá-lo onde for necessário.
XStream é excelente
opa, blz cara?
só umas pergunta.. pra onde o xml é exportado?
em qual pasta ele fica depois do teste?
abraço
Veja bem Max,
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.