Sie sind auf Seite 1von 3

Manipulando um arquivo XML atravs de um ClientDataSet

1 de 3

http://edn.embarcadero.com/print/37321

Manipulando um arquivo XML atravs de um ClientDataSet


By: Rodrigo Leonhardt
Abstract: Este artigo apresenta uma soluo para manipular um arquivo XML atravs de um ClientDataSet, utilizando o componente
XMLTransformProvider.

Introduo
O uso de arquivos XML se torna cada dia mais comum, por oferecer um padro capaz de trafegar entre ambientes heterogneos,
tornando a integrao uma realidade em ambientes de solues tecnologicamente diferentes entre si.

Transformando o arquivo XML


Uma vez de posse de um arquivo XML, preciso manipul-lo em meio aplicao. Existem vrias formas de realizar esse processo de
manipulao, 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 contedo:
<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, atravs do menu File>New>VCL Forms Application Delphi for Win32.
Em seguida o arquivo XML deve ser mapeado atravs da ferramenta XML Mapper, que pode ser encontrada no menu Tools>XML
Mapper.

Imagem 1 Interface do XML Mapper


Atravs do menu File>Open selecionando o arquivo1.xml ser exibido do lado esquerdo da interface, a estrutura do arquivo XML com
seus respectivos ns e atributos.

11/01/2016 04:38

Manipulando um arquivo XML atravs de um ClientDataSet

2 de 3

http://edn.embarcadero.com/print/37321

Ao clicar com o boto direito do mouse sobre as informaes exibidas, selecione a opo Select All, para que todos os ns sejam
considerados na transformao e exibidos na rea central da interface, como exibido na Imagem 2 abaixo.

Imagem 2 Menu exibido ao clique direito do mouse


Em seguida, atravs do menu Create>Datapacket from XML sero exibidas informaes do lado direito da interface, referentes ao
pacote de transformao XML criado com base no documento original.
Aps isso, clique com o boto direito do mouse sobre a rea central da interface, e selecione a opo Create Transformation do menu.
Por fim, clique no menu File>Save>Transformation para salvar o arquivo de transformao com o nome ToDp.xtr. O arquivo de
transformao um arquivo de contedo XML, que contm informaes necessrias para que o arquivo original seja transformado em
um DataPacket, que um formato utilizado pelo Provider do Delphi para envio e recepo de dados.

Criando a interface
Visualizando o Form Designer, devem ser inclusos alguns componentes para manipulao e visualizao dos dados originados do arquivo
XML.
Inicialmente inclua o componente XMLTransformProvider da palheta Data Access. Altere a propriedade XMLDataFile para o caminho
onde est o arquivo XML arquivo1.xml. Altere tambm a propriedade TransformRead>TransformationFile indicando o caminho onde
est o arquivo de transformao ToDp.xtr.
Em seguida inclua o componente ClientDataSet da palheta Data Access. Altere a propriedade ProviderName indicando o componente
XMLTransformProvider criado anteriormente. Altere tambm a propriedade Active para True.
Depois inclua o componente DataSource da palheta Data Access. Altere a propriedade DataSet indicando o ClientDataSet criado
anteriormente.
Finalmente inclua o componente DBGrid da palheta Data Controls. Altere a propriedade DataSource indicando o componente
DataSource criado anteriormente.
Ao final desses passos, o resultado visual ser o exibido na Figura 3 abaixo.

11/01/2016 04:38

Manipulando um arquivo XML atravs de um ClientDataSet

3 de 3

http://edn.embarcadero.com/print/37321

Imagem 3 Resultado visual final

Concluso
Com a utilizao do componente XMLTransformProvider, o arquivo XML pode ser transformado para uma outra estrutura desejada, e
convertida para o formato DataPacket, que pode ser utilizado em conjunto com o ClientDataSet para manipular os dados como se
estivessem em uma tabela de um banco de dados.
Alm do apresentado, tambm possvel gerenciar os dados na ferramenta XML Mapper, como mudar o nome dos atributos, definir a
dimenso 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.

11/01/2016 04:38