
Í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:

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.