XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.
Manipulando Um Arquivo XML Através de Um ClientDataSet
-
Upload
moria-autotec -
Category
Documents
-
view
54 -
download
1
description
Transcript of 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
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
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