XML 
Autor: Mauricio de Azevedo | Publicado: 2012-08-26T19:34:00-07:00


XML



Descrevendo objetos com XML:
- Pessoas :&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;pessoa&gt;&nbsp; &nbsp;&lt;sexo&gt;feminino&lt;/sexo&gt;&nbsp; &nbsp;&lt;nome&gt;José&lt;/nome&gt;&nbsp; &nbsp;&lt;sobrenome&gt;Rocha&lt;/sobrenome&gt;&nbsp; &nbsp;&lt;telefones&gt;&nbsp; &nbsp; &nbsp; &lt;celular&gt;(55) 5555 - 5555&lt;/celular&gt;&nbsp; &nbsp; &nbsp; &lt;residencial&gt;(44) 4444 - 4444&lt;/residencial&gt;&nbsp; &nbsp;&lt;/telefones&gt;&lt;/pessoa&gt;

- Automóveis:&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;carro&gt;&nbsp; &nbsp; &lt;concessionaria&gt;Chevrolet&lt;/concessionaria&gt;&nbsp; &nbsp; &lt;marca&gt;Agile&lt;/marca&gt;&nbsp; &nbsp; &lt;combustivel&gt;Total Flex&lt;/combustivel&gt;&lt;/carro&gt;
- Filmes :
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;filme&gt;
&nbsp; &nbsp; &nbsp;&lt;genero&gt;Comédia&lt;/genero&gt;
&nbsp; &nbsp; &nbsp;&lt;nome&gt;Eu, eu mesmo e Irene&lt;/nome&gt;
&nbsp; &nbsp; &nbsp;&lt;duracao&gt;160min&lt;/duracao&gt;
&lt;/filme&gt;

- Músicas :&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;musica&gt;
&nbsp; &nbsp; &lt;genero&gt;Pop Rock&lt;/genero&gt;
&nbsp; &nbsp; &lt;cantor&gt;Jota Quest&lt;/cantor&gt;
&nbsp; &nbsp; &lt;nome&gt;Na Moral&lt;/nome&gt;
&lt;/musica&gt;



Exemplos reais do uso de XML

Sistema de Reservas e Agenda de Contatos de um Hotel





Ferramentas interessantes

Gedit xml Tools

Lista com várias ferramentas





Mais exemplos do uso de XML

- Curso


&nbsp; &nbsp;&nbsp;GRAD: De graduação

o&nbsp;&nbsp;&nbsp;&nbsp;TEC: Tecnologia

o&nbsp;&nbsp;&nbsp;&nbsp;BAC: Bacharelado

o&nbsp;&nbsp;&nbsp;&nbsp;LIC: Licenciatura

o&nbsp;&nbsp;&nbsp;&nbsp;ENG: Engenharia



&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;curso&gt;
&nbsp; &nbsp; &lt;nivel type="GRAD"&gt;TEC&lt;/nivel&gt;
&nbsp; &nbsp; &lt;name&gt;TADS&lt;/name&gt;
&nbsp; &nbsp; &lt;disciplina cod="1252"&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &lt;nome&gt;Engenharia de Software&lt;/nome&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &lt;carga-horaria&gt;30 horas&lt;/carga-horaria&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &lt;ano&gt;2012&lt;/ano&gt;
&nbsp; &nbsp; &nbsp; &nbsp; &lt;semestre&gt;segundo&lt;/semestre&gt;
&nbsp; &nbsp; &lt;/disciplina&gt;
&lt;/curso&gt;




- Aluno


&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;aluno&gt;
&nbsp; &nbsp; &lt;nome&gt;Marcos&lt;/nome&gt;
&nbsp; &nbsp; &lt;sobrenome&gt;Arruda&lt;/sobrenome&gt;&nbsp;
&nbsp; &nbsp; &lt;titulo id="tit1"&gt;

&nbsp; &nbsp; &nbsp; &nbsp; &lt;descricao&gt;Graduação&lt;/descricao&gt;

&nbsp; &nbsp; &nbsp; &nbsp; &lt;entidade&gt;UCPEL&lt;/entidade&gt;&nbsp;

&nbsp; &nbsp;&lt;/titulo&gt;&lt;/aluno&gt;



- Professor


&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;professor&gt;
&nbsp; &nbsp; &lt;nome&gt;Thaís&lt;/nome&gt;
&nbsp; &nbsp; &lt;contrato id="cont1"&gt;

&nbsp; &nbsp; &nbsp; &nbsp; &lt;descricao&gt;Auxiliar&lt;/descricao&gt;

&nbsp; &nbsp; &nbsp; &nbsp; &lt;disciplina&gt;Matemática&lt;/disciplina&gt;

&nbsp; &nbsp; &nbsp; &nbsp; &lt;hora-aula&gt;40&lt;/hora-aula&gt;

&nbsp; &nbsp; &nbsp; &nbsp; &lt;universidade&gt;UCPEL&lt;/universidade&gt;

&nbsp; &nbsp; &lt;/contrato&gt;

&nbsp; &nbsp;&nbsp;&lt;/professor&gt;



Resumo de tecnologias comuns
- Sax - API que provê acesso serial a um documento XML.
- DOM - &nbsp;Representa um relacionamento de objetos permitindo a manipulação de um XML.

- XLST - Atua como uma folha de estilos do arquivo XML.

- XPath - Utilizada para o endereçamento dos arquivos XML

- JAXB - Ferramenta Java para manipular arquivos XML sem a necessidade de sua total compreensão.

Arquivos de Exemplo

Projeto para ler titulos de livros em uma lista XML onde:



- catalogo.xml : arquivo XML com os dados;

- livro.java : arquivo que manipula os dados do XML

- MySaxParser.java : arquivo responsável para fazer a conversão dos dados.

https://docs.google.com/open?id=0B1Ht8I-NMnI-LTZrYWtmd1M2SHM