Criação e Manipulação de Estruturas XML em Delphi

Criação e Manipulação de Estruturas XML em Delphi
XML

Introdução

Neste post iremos abordar sobre criação e manipulação de estruturas XML em Delphi.

O XML (Extensible Markup Language) é amplamente utilizado para armazenar e transmitir dados estruturados em diversas aplicações. No desenvolvimento em Delphi, a manipulação de arquivos XML é fundamental, pois permite a leitura, modificação e criação de estruturas de dados de forma eficiente. Neste artigo, vamos explorar como criar novos documentos XML a partir do zero e manipular seus nós, atributos e valores utilizando Delphi.

Criando Novos Documentos XML em Delphi

Para trabalhar com XML em Delphi, a classe principal que utilizamos é a TXMLDocument. Essa classe permite criar e manipular arquivos XML de maneira eficiente, seja para ler, escrever ou modificar informações. Vamos começar criando um documento XML do zero e adicionando os elementos e atributos necessários.

Passo 1: Configurando o Componente TXMLDocument

A primeira coisa que você precisa fazer é adicionar a unidade XMLDoc ao seu projeto. Em seguida, pode-se utilizar o componente TXMLDocument para criar a estrutura XML.

uses
  XMLDoc, XMLIntf;

var
  XMLDoc: IXMLDocument;
  RootNode, ChildNode: IXMLNode;
begin
  // Criando o documento XML
  XMLDoc := NewXMLDocument;
  XMLDoc.Options := [doNodeAutoIndent];
  XMLDoc.Version := '1.0';
  XMLDoc.Encoding := 'UTF-8';

  // Adicionando o nó raiz
  RootNode := XMLDoc.AddChild('Livraria');

  // Salvando o documento em um arquivo
  XMLDoc.SaveToFile('livraria.xml');
end;

Neste exemplo, estamos criando um documento XML vazio e definindo seu nó raiz como <Livraria>. A propriedade Options define que o XML será automaticamente identado, o que melhora a legibilidade do arquivo.

Passo 2: Adicionando Nós e Atributos

Após criar o documento e definir o nó raiz, podemos adicionar elementos filhos e atributos. Isso é feito com o método AddChild para os nós e SetAttribute para os atributos.

uses
  XMLDoc, XMLIntf;

var
  XMLDoc: IXMLDocument;
  RootNode, LivroNode: IXMLNode;
begin
  // Criando o documento XML
  XMLDoc := NewXMLDocument;
  XMLDoc.Options := [doNodeAutoIndent];
  XMLDoc.Version := '1.0';
  XMLDoc.Encoding := 'UTF-8';

  // Adicionando o nó raiz
  RootNode := XMLDoc.AddChild('Livraria');

  // Adicionando um nó filho (Livro) e atributos
  LivroNode := RootNode.AddChild('Livro');
  LivroNode.Attributes['ID'] := '001';
  LivroNode.AddChild('Titulo').Text := 'Programando em Delphi';
  LivroNode.AddChild('Autor').Text := 'Fulano de Tal';
  LivroNode.AddChild('Preco').Text := '49.90';

  // Salvando o documento em um arquivo
  XMLDoc.SaveToFile('livraria.xml');
  ShowMessage('Arquivo criado!');
end;

Aqui, adicionamos um elemento <Livro> com atributos e elementos filhos como <Titulo>, <Autor>, e <Preco>. O atributo ID foi adicionado diretamente ao nó do livro, e os valores de texto foram atribuídos aos elementos filhos. O arquivo será salvo na raiz do executável.

Modificando Nós e Atributos no XML

Além de criar um novo documento, o Delphi permite modificar os valores e atributos de um arquivo XML existente. Para isso, basta carregar o arquivo, localizar o nó desejado e alterar suas propriedades.

Carregando um Documento XML Existente

Para modificar um XML, a primeira etapa é carregar o arquivo para dentro da aplicação, usando o método LoadFromFile.

uses
  XMLDoc, XMLIntf;

var
  XMLDoc: IXMLDocument;
  LivroNode: IXMLNode;
begin
  // Carregando o documento XML existente
  XMLDoc := LoadXMLDocument('livraria.xml');

  // Localizando o nó do livro com ID 001
  LivroNode := XMLDoc.DocumentElement.ChildNodes.FindNode('Livro');
  if Assigned(LivroNode) and (LivroNode.Attributes['ID'] = '001') then
  begin
    // Modificando o preço do livro
    LivroNode.ChildNodes['Preco'].Text := '39.90';

    // Salvando as alterações no arquivo
    XMLDoc.SaveToFile('livraria_modificado.xml');
    ShowMessage('Arquivo criado!');
  end;
end;

Neste código, carregamos o arquivo livraria.xml e localizamos o nó do livro com o ID 001. Em seguida, modificamos o preço do livro para 39.90 e salvamos as alterações em um novo arquivo. O arquivo será salvo na raiz do executável.

Veja a ilustração abaixo, dos arquivos xml que serão criados:

Ilustração dos arquivos.

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/CriarManipularXML

Conclusão

Manipular XML em Delphi é uma tarefa simples quando se utiliza a classe TXMLDocument. Criar documentos do zero, adicionar nós e atributos, e modificar valores existentes são ações comuns que podem ser realizadas de forma eficiente com poucas linhas de código. O XML continua sendo uma tecnologia crucial em diversas aplicações modernas, especialmente quando se trata de armazenamento e troca de dados estruturados.

Com essas práticas, você será capaz de criar, ler e modificar documentos XML em Delphi, integrando essa tecnologia em suas aplicações de forma prática e eficiente.

Posts Relacionados


Livros + e-books

Delphi para Android e iOS

codedelphi.com
codedelphi.com

Delphi Start

codedelphi.com

Programando em Delphi XE

Aprenda programar Delphi

Banco de Dados RAD Delphi

Delphi Programming Projects

Deixe um comentário