Manipulando Um Arquivo XML Através de Um ClientDataSet

3
Manipulando um arquivo XML através de um ClientDataSet By: Rodrigo Leonhardt Abstract: Este artigo apresenta uma solução para manipular um arquivo XML através de um ClientDataSet, utilizando o componente XMLTransformProvider. Introdução O uso de arquivos XML se torna cada dia mais comum, por oferecer um padrão capaz de trafegar entre ambientes heterogêneos, tornando a integração uma realidade em ambientes de soluções tecnologicamente diferentes entre si. Transformando o arquivo XML Uma vez de posse de um arquivo XML, é preciso manipulá-lo em meio à aplicação. Existem várias formas de realizar esse processo de manipulação, e entre elas está o uso do componente XMLTransformProvider. Para exemplificar o uso do componente, será utilizado um arquivo XML de nome arquivo1.xml com o seguinte conteúdo: <clientes> <cliente> <codigo>1</codigo> <nome>Cliente 1</nome> <telefone>1234-5678</telefone> </cliente> <cliente> <codigo>2</codigo> <nome>Cliente 2</nome> <telefone>9876-5432</telefone> </cliente> </clientes> Primeiramente um novo projeto deve ser criado, através do menu File>New>VCL Forms Application – Delphi for Win32. Em seguida o arquivo XML deve ser mapeado através da ferramenta XML Mapper, que pode ser encontrada no menu Tools>XML Mapper. Imagem 1 – Interface do XML Mapper Através do menu File>Open selecionando o arquivo1.xml será exibido do lado esquerdo da interface, a estrutura do arquivo XML com seus respectivos nós e atributos. Manipulando um arquivo XML através de um ClientDataSet http://edn.embarcadero.com/print/37321 1 de 3 11/01/2016 04:38

description

XML

Transcript of Manipulando Um Arquivo XML Através de Um ClientDataSet

Page 1: Manipulando Um Arquivo XML Através de Um ClientDataSet

Manipulando um arquivo XML através de um ClientDataSetBy: Rodrigo Leonhardt

Abstract: Este artigo apresenta uma solução para manipular um arquivo XML através de um ClientDataSet, utilizando o componenteXMLTransformProvider.

IntroduçãoO uso de arquivos XML se torna cada dia mais comum, por oferecer um padrão capaz de trafegar entre ambientes heterogêneos,tornando a integração uma realidade em ambientes de soluções tecnologicamente diferentes entre si.

Transformando o arquivo XMLUma vez de posse de um arquivo XML, é preciso manipulá-lo em meio à aplicação. Existem várias formas de realizar esse processo demanipulação, e entre elas está o uso do componente XMLTransformProvider.

Para exemplificar o uso do componente, será utilizado um arquivo XML de nome arquivo1.xml com o seguinte conteúdo:

<clientes>

<cliente>

<codigo>1</codigo>

<nome>Cliente 1</nome>

<telefone>1234-5678</telefone>

</cliente>

<cliente>

<codigo>2</codigo>

<nome>Cliente 2</nome>

<telefone>9876-5432</telefone>

</cliente>

</clientes>

Primeiramente um novo projeto deve ser criado, através do menu File>New>VCL Forms Application – Delphi for Win32.

Em seguida o arquivo XML deve ser mapeado através da ferramenta XML Mapper, que pode ser encontrada no menu Tools>XMLMapper.

Imagem 1 – Interface do XML Mapper

Através do menu File>Open selecionando o arquivo1.xml será exibido do lado esquerdo da interface, a estrutura do arquivo XML comseus respectivos nós e atributos.

Manipulando um arquivo XML através de um ClientDataSet http://edn.embarcadero.com/print/37321

1 de 3 11/01/2016 04:38

Page 2: Manipulando Um Arquivo XML Através de Um ClientDataSet

Ao clicar com o botão direito do mouse sobre as informações exibidas, selecione a opção Select All, para que todos os nós sejamconsiderados na transformação e exibidos na área central da interface, como exibido na Imagem 2 abaixo.

Imagem 2 – Menu exibido ao clique direito do mouse

Em seguida, através do menu Create>Datapacket from XML serão exibidas informações do lado direito da interface, referentes aopacote de transformação XML criado com base no documento original.

Após isso, clique com o botão direito do mouse sobre a área central da interface, e selecione a opção Create Transformation do menu.

Por fim, clique no menu File>Save>Transformation para salvar o arquivo de transformação com o nome ToDp.xtr. O arquivo detransformação é um arquivo de conteúdo XML, que contém informações necessárias para que o arquivo original seja transformado emum DataPacket, que é um formato utilizado pelo Provider do Delphi para envio e recepção de dados.

Criando a interfaceVisualizando o Form Designer, devem ser inclusos alguns componentes para manipulação e visualização dos dados originados do arquivoXML.

Inicialmente inclua o componente XMLTransformProvider da palheta Data Access. Altere a propriedade XMLDataFile para o caminhoonde está o arquivo XML arquivo1.xml. Altere também a propriedade TransformRead>TransformationFile indicando o caminho ondeestá o arquivo de transformação ToDp.xtr.

Em seguida inclua o componente ClientDataSet da palheta Data Access. Altere a propriedade ProviderName indicando o componenteXMLTransformProvider criado anteriormente. Altere também a propriedade Active para True.

Depois inclua o componente DataSource da palheta Data Access. Altere a propriedade DataSet indicando o ClientDataSet criadoanteriormente.

Finalmente inclua o componente DBGrid da palheta Data Controls. Altere a propriedade DataSource indicando o componenteDataSource criado anteriormente.

Ao final desses passos, o resultado visual será o exibido na Figura 3 abaixo.

Manipulando um arquivo XML através de um ClientDataSet http://edn.embarcadero.com/print/37321

2 de 3 11/01/2016 04:38

Page 3: Manipulando Um Arquivo XML Através de Um ClientDataSet

Imagem 3 – Resultado visual final

ConclusãoCom a utilização do componente XMLTransformProvider, o arquivo XML pode ser transformado para uma outra estrutura desejada, econvertida para o formato DataPacket, que pode ser utilizado em conjunto com o ClientDataSet para manipular os dados como seestivessem em uma tabela de um banco de dados.

Além do apresentado, também é possível gerenciar os dados na ferramenta XML Mapper, como mudar o nome dos atributos, definir adimensão dos dados, omitir atributos, e outras funcionalidades.

Published on: 11/8/2007 3:55:46 PM

Server Response from: ETNASC02

Copyright© 1994 - 2013 Embarcadero Technologies, Inc. All rights reserved.

Manipulando um arquivo XML através de um ClientDataSet http://edn.embarcadero.com/print/37321

3 de 3 11/01/2016 04:38