![]() |
Tag XML |
Índice
Introdução
Nesse post iremos abordar sobre a leitura de Arquivos XML em Delphi, com exemplo prático e código fonte para download.
O XML (eXtensible Markup Language) é uma linguagem de marcação amplamente utilizada para armazenar e transportar dados de maneira estruturada e independente de plataforma. No desenvolvimento de software, especialmente em Delphi, a manipulação de arquivos XML é uma habilidade essencial. Este artigo irá abordar como carregar e ler arquivos XML em Delphi, utilizando a classe TXMLDocument
para manipulação de XML.
O que é XML?
XML é uma linguagem de marcação que define regras para a codificação de documentos em um formato que tanto humanos quanto máquinas podem ler. Ao contrário do HTML, que se preocupa com a apresentação dos dados, o XML foca na estruturação e transporte dos dados. Essa flexibilidade faz com que o XML seja amplamente utilizado em diversas aplicações, desde configurações de software até troca de dados entre sistemas.
Carregando e Lendo Arquivos XML em Delphi
Em Delphi, trabalhar com XML é bastante direto graças à classe TXMLDocument
, que faz parte da biblioteca XMLDoc
. A classe TXMLDocument
fornece métodos e propriedades para carregar, ler, modificar e salvar arquivos XML. Vamos explorar como utilizar essa classe para manipular um arquivo XML.
Passo 1: Preparando o Ambiente
Antes de começar a trabalhar com XML em Delphi, você precisa garantir que a unidade XMLDoc
esteja incluída na seção uses
do seu projeto:
uses
XMLDoc, XMLIntf;
Passo 2: Interface do projeto
Para a interface iremos utilizar um botão TButton
para chamar o método de LerDadosXML
e uma caixa de texto TMemo
para exibir os dados lidos.
Passo 3: Lendo os Dados do XML
Após carregar o arquivo XML, você pode navegar pelos nós (nodes) do documento e extrair as informações desejadas. Vamos supor que o XML que você está manipulando tenha a seguinte estrutura:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<cliente>
<nome>João Silva</nome>
<email>joao@example.com</email>
</cliente>
<cliente>
<nome>Maria Souza</nome>
<email>maria@example.com</email>
</cliente>
</root>
Você poderá criar o arquivo XML acima copiando esse conteúdo, jogando o texto em um bloco de notas e salvando com a extensão .xml. Perceba que o arquivo xml possui um cabeçalho indicando que é um arquivo xml de versão 1 e que utiliza UTF-8 para codificação do texto. Se preferir faça download do projeto e o arquivo estará na pasta raiz.
Para ler os nomes e e-mails dos clientes, você pode utilizar o seguinte código:
procedure LerDadosXML(const FileName: string);
var
XMLDoc: IXMLDocument;
RootNode, ClienteNode: IXMLNode;
i: Integer;
begin
XMLDoc := TXMLDocument.Create(nil);
try
// Define o nome do arquivo a ser carregado
XMLDoc.LoadFromFile(FileName);
// Define que o XML não pode ser modificado
XMLDoc.Options := XMLDoc.Options + [doNodeAutoCreate, doNodeAutoIndent];
// Carrega o documento XML
XMLDoc.Active := True;
// Obtém o nó raiz
RootNode := XMLDoc.DocumentElement;
Memo1.Clear;
// Itera pelos nós de cliente
for i := 0 to RootNode.ChildNodes.Count - 1 do
begin
ClienteNode := RootNode.ChildNodes[i];
// Exibe o nome e e-mail do cliente
Memo1.Lines.Add('Nome: '+ ClienteNode.ChildNodes['nome'].Text);
Memo1.Lines.Add('Email: '+ ClienteNode.ChildNodes['email'].Text);
end;
finally
XMLDoc := nil;
end;
end;
Este código percorre cada nó <cliente>
dentro do nó raiz <root>
e exibe o nome e e-mail de cada cliente. A função RootNode.ChildNodes.Count
retorna o número de nós filho, e o loop for
permite iterar por cada nó <cliente>
.
Passo 4: Chamando o método de leitura do XML no botão
procedure TForm1.Button1Click(Sender: TObject);
begin
//carrega o arquivo cliente.xml que está na pasta raiz do executável
LerDadosXML(ExtractFilePath(Application.ExeName)+'cliente.xml');
end;
Este código passa para a função LerDadosXML o arquivo "cliente.xml" que estará junto com o executável do projeto. O método ExtractFilePath apenas extrai o caminho do executável, como por exemplo "c:\LerXml\", e o nome do arquivo "cliente.xml" será concatenado ao caminho do executável formando o caminho "c:\LerXML\cliente.xml".
Veja abaixo a ilustração do projeto:
![]() |
Ilustração do projeto. |
Código fonte do exemplo
Você pode fazer o download do exemplo do projeto através do repositório do github:
https://github.com/Gisele-de-Melo/LerXML
Conclusão
A leitura e manipulação de arquivos XML em Delphi, utilizando a classe TXMLDocument
, é uma tarefa essencial e relativamente simples. A capacidade de estruturar e manipular dados de forma organizada torna o XML uma ferramenta poderosa em diversas aplicações modernas. Com as técnicas apresentadas neste artigo, você está preparado para começar a trabalhar com XML em seus projetos Delphi, garantindo interoperabilidade e flexibilidade na gestão de dados.
Ao dominar essas habilidades, você não apenas melhora a qualidade do seu software, mas também aumenta a eficiência e a facilidade de manutenção dos seus projetos.
Nenhum comentário:
Postar um comentário