Esse artigo faz parte da revista Clube Delphi Edição 100. Clique aqui para ler todos os artigos desta edição

an>Manipulação de arquivos XML com XMLDocument;

·         XML Transformer;

·         XML com Interfaces.

Qual a finalidade?

·         Entender o que é um arquivo XML, como manipular via XMLDocument, trabalhando com XML no ClientDataSet, trabalhando com XML e interfaces;

Quais situações utilizam esses recursos?

·         Troca de arquivos entre aplicações, gravação de dados locais para tabelas temporárias etc.;

Resumo do DevMan

        Sem dúvida nenhuma a utilização de arquivos texto, os famosos TXT, têm sido utilizados há anos por diversas empresas para fazer a integração entre diferentes aplicações. Um bom exemplo disso são os EDI’s (Eletronic Data Interchange) usados por bancos. Os EDI’s também são chamados de CNAB’s e o seu principal objetivo é fazer a emissão de boletos e cobranças bancárias. A software house se dispõem a desenvolver a exportação de dados de seu sistema para cobrança no formato texto especificado pela instituição financeira.

Partindo desse conceito, outras empresas passaram a utilizar desse tipo de recurso como empresas de contabilidade, por exemplo. Porém, a manipulação de arquivos texto é complexa, demorada e bastante propícia a erros.

Neste artigo veremos como fazer a utilização de arquivos XML que possuem formato universal e têm maior controle da integridade de dados.

XML (Extensible Markup Language) é um formato de arquivo texto que hoje é praticamente o mais utilizado e recomendado para troca de informações entre aplicativos. Este seria um resumo de forma simples sobre XML, mas não podemos falar desse maravilhoso recurso sem fazer um paralelo com o bom e velho amigo arquivo TXT.

Todos nós desenvolvedores já precisamos alguma vez em algum projeto ou em alguma situação específica fazer a leitura de um arquivo TXT. Senão foi a leitura foi a geração de um arquivo para disponibilizar dados para outras aplicações, integrações com programas da CEF (Caixa Econômica Federal), por exemplo, ou para guardar informações próprias para nosso uso. Sabemos que ao manipular um arquivo desse tipo temos diversas dificuldades de manipulação, pois para se fazer, por exemplo, a leitura do mesmo, precisamos definir sempre uma regra. Ou definimos um caractere delimitador para determinar quando termina um dado e quando inicia outro, ou então trabalhamos com posicionamento dos caracteres por ex: da posição 1 até a 5 é o código, da posição 6 até a 40 é o nome e por aí vai.

Sempre que temos esse tipo de modelo o nosso código sempre fica fixo para o tratamento de um determinado arquivo X, se o proprietário desse arquivo mudar o formato lá vai o programador novamente refazer o seu código para ajustar aquele padrão. Na verdade o que sempre acontece é que só detectamos a mudança do mesmo em produção o que gera diversos constrangimentos ao nosso cliente/usuário final.

Além desses detalhes aqui mencionados temos muitas dificuldades para leitura e gravação, imagine ter que ler um arquivo TXT com 1000 linhas que seja, e localizar um registro lá dentro que tem o nome de Juliana e ainda ter que trocar um item na linha que representa o salário para um novo valor. Dá para ter noção do trabalho? E o pior, quem é que garante a integridade dessa informação. Eu não garanto e Você?

Notas DevMan

        A troca de informações no formato TXT entre empresa também é por EDI. EDI é a sigla de Electronic Data Interchange, que em português significa Troca Eletrônica de Dados. É a troca de documentos via sistemas de teleinformática entre duas ou mais organizações de forma padronizada. Tem como um dos principais objetivos, ao substituir o fluxo de papéis entre elas, agilizar e reduzir os custos dos processos mercantis.

Tradicionalmente, no âmbito das relações comerciais, muitas das aplicações informatizadas de uma empresa geram documentos em papel que, após o trâmite burocrático interno, são encaminhados a outra empresa. Nesta outra empresa, tais documentos passam inicialmente por uma averiguação e então são digitados e introduzidos nos seus sistemas informatizados.

Existem informações nos dando conta de que 70% das entradas de dados do computador de uma empresa são originados pelas saídas de computadores de outras empresas e de que 25% do custo das transações derivam destas entradas.

O uso do EDI tem como proposta automatizar estas transações comerciais e eliminar este grande número de papéis que são trocados entre empresas. Para que se consiga isto, é necessário conectar diretamente os computadores das empresas que transacionam entre si.

Através de um arquivo XML temos inúmeras vantagens que não temos em outros formatos, o primeiro ponto é que é um modelo de arquivo que segue uma padronização, além disso, é multi-plataforma e independente de linguagem. Um arquivo XML é apenas um arquivo de texto que é delimitado por TAGS criados pelo próprio usuário, o documento em si não faz coisa alguma só armazena o conteúdo, tudo é pura informação.

Podemos criar um arquivo XML em qualquer editor de textos, depois de criado o arquivo, escrevemos código para interpretá-lo. Porém, temos diversas ferramentas para criar um arquivo XML, interpretá-lo, componentes para fazer leitura, escrita, exibição e etc.

Podemos citar como principais vantagens de se trabalhar com um arquivo XML:

·            Inteligente (tags personalizadas);

·            Manutenção facilitada;

·            Simplicidade;

·            Portabilidade.

Em determinado ponto podemos comparar um arquivo XML com um arquivo HTML e podemos citar as principais diferenças já que o XML também faz uso de tags para deixarmos as definições de forma bem clara.

HTML

·         Concentra-se no uso de tags HTML para formatar e exibir informações;

·         Usa Tags pré-definidas. As tags especificam como os dados entre elas irão aparecer no browser;

·         Em HTML os dados estão gravados dentro do próprio texto do arquivo.

XML

·         Descreve informações;

·         Usa tags simplesmente para delimitar grupo de dados;

·         O usuário tem a habilidade para criar as suas próprias tags;

·         Os dados em um arquivo XML podem estar em um arquivo separado, em qualquer lugar do disco;

·         Dados em um XML podem ser manipulados através de rotinas, procedures que interpretem o documento similar a SQL para database.

Entendendo o documento XML

Na Listagem 1 temos um modelo de um arquivo XML bem simples para começarmos a entender um pouco sobre a estrutura do documento. Na primeira linha do documento temos a declaração XML, definindo a versão que está sendo usada. Segunda linha, elemento root (descreve o tipo do documento), posteriormente temos os elementos Childs do root (equivalentes aos campos). Para cada tag aberta, deve existir uma tag respectiva de fechamento.  Por ex.:

·         <p> Parágrafo. Isto é válido em html;

·         <p> sintaxe válida para XML </p>;

 

Listagem 1. Modelo de Arquivo XML

<?xml version="1.0" encoding="UTF-8" ?>

...

Quer ler esse conteúdo completo? Tenha acesso completo