Rápida Introdução a XMLBEANS
XMLBeans é uma ótima ferramenta para quem precisa trabalhar com XML, por exemplo, fazer uma integração entre dois sistemas utitlizando troca de arquivos em formato xml , para entender como essa ferramenta funciona é necessário ter algum conhecimento sobre XML Schema.
O que é XML Schema ? resumidamente esta ferramenta foi projetada para substituir as DTD , ou seja, é forma de definir e validar um documento XML.
Aqui um ótimo tutorial sobre XML Schema, neste tutorial iremos trabalhar com XML BEANS.
O que vamos fazer : Nosso sistema de comércio online deverá permitir o envio de pedido em formato XML este arquivo recebido deverá ser transformado em java bean com os seus respectivos dados.
Existem várias formas de se fazer essa tarefa mas com certeza usar xmlbeans é realmente uma forma elegante de resolver o problema.
A Seguir um passo a passo , antes de prosseguir é necessário instalar xml beans, instruções aqui.
Nosso arquivo que representa um novo pedido:
Pedido.xml
<?xml version="1.0"> <Pedido cliente_id="1"> <Item produto_id="10" quantidade="10" /> <Item produto_id="10" quantidade="10" /> </Pedido>
Nosso pequeno arquivo xsd(XML Schema):
Pedido.xsd
<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:pedido="http://www.alexflorentino.com/pedido" targetNamespace="http://www.alexflorentino.com/pedido" elementFormDefault="qualified"> <xs:element name="Pedido"> <xs:complexType> <xs:sequence> <xs:element name="Item" type="pedido:Item" /> </xs:sequence> <xs:attribute name="client_id" type="xs:int" use="required"/> </xs:complexType> </xs:element> <xs:complexType name="Item"> <xs:attribute name="produto_id" type="xs:int" use="required"/> <xs:attribute name="quantidade" type="xs:int" use="required"/> </xs:complexType> </xs:schema>
Este arquivo resumidamente descreve como um arquivo de pedido deve ser formatado.
Agora precisamos inserir em nosso arquivo de pedido uma referência ao nosso Arquivo XSD.
Pedido.xml
<?xml version="1.0" encoding="UTF-8"?> <Pedido cliente_id="1" xmlns="http://www.alexflorentino.com/pedido" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="pedido.xsd"> <Item produto_id="10" quantidade="10" /> <Item produto_id="10" quantidade="10" /> </Pedido>
Pronto! com esses artefatos criados precisamos agora rodar um comando mágico, no diretório onde você criou os arquivos pedido.xml e pedido.xsd, execute:
scomp -out pedido.jar pedido.xsd
lembre-se para este comando funcionar você precisa ter xml beans devidamente instalado.
Basicamente este comando irá criar um monte de código para você, código que trata todo o trabalho que você poderia ter ao trabalhar com arquivo xml em java.
Para isso basta inserir o arquivo pedido.jar(gerado com o comando anterior) na sua aplicação junto com as bibliotecas do xml beans.
exemplo o trecho de código abaixo ilustra o processamento do arquivo de pedido.
PedidoDocument pedidoDoc = PedidoDocument.Factory.parse(new File("pedido.xml"));
Pedido pedido = pedidoDoc.getPedido();
System.out.println("Client_id:"+pedido.getClientId());
System.out.println("XMLLIDO \n:"+pedidoDoc.toString());
repare neste código você acabou de ler o arquivo pedido.xml diretamente para o seu objeto java Pedido, sem qualquer preocupação com detalhes de leitura do arquivo xml.
Para finalizar, xmlbeans é uma ferramenta poderoza para o trabalho com arquivo xml quando você já tem xsd já definidos, um exemplo real : você quer integrar com sistema .Net e certamente o dono do sistema em .Net tem os arquivos xsd e lhe fornecerá com isso o tempo de integração cai drasticamente, né ?.
O XML Beans também evita a famosa programação orienta a String
já que você não precisa ficar lendo este arquivo xml, dentre muitas outras vantagens.
Baixe aqui os arquivos deste tutorial.
Leave a Reply