Mostrarei como criar um XML a seguinte estrutura:
<atualizacao> <executaveis> <executavel versao='1.0.3.22' descricao='Modulo gerencial'>gerencial.exe</executavel> <executavel versao='1.0.3.123' descricao='Configuracoes da Aplicacao'>configuracoes.exe</executavel> </executaveis> <bibliotecas> <biblioteca versao='2.0.0.1' descricao='Biblioteca de funcoes'>funcoes.dll</biblioteca> <biblioteca versao='1.2.0.4' descricao='Biblioteca com rotinas de negocio da aplicacao'>app.dll</biblioteca> </bibliotecas> </atualizacao>
Então vamos lá! Crie no delphi um novo projeto e arraste um TMemo, um TButton e um TXMLDocument para o Form.

No evento onClick do TButton que foi adicionado a tela, escreva o seguinte código:
procedure TForm1.Button1Click(Sender: TObject); var atualizacao :IXMLNode; executaveis :IXMLNode; executavel :IXMLNode; bibliotecas :IXMLNode; biblioteca :IXMLNode; begin //Ativa o componente TXMLDocument XMLDocument1.Active := true; //Cria o nó principal do xml atualizacao := XMLDocument1.AddChild('atualizacao'); //Cria o nó dos executaveis dentro do nó principal executaveis := atualizacao.AddChild('executaveis'); //Adiciona um executavel ao nó de executaveis executavel := executaveis.AddChild('executavel'); executavel.SetAttributeNS('versao','','1.0.3.22'); executavel.SetAttributeNS('descricao','','Modulo gerencial'); executavel.Text := 'gerencial.exe'; //Adiciona um executavel ao nó de executaveis executavel := executaveis.AddChild('executavel'); executavel.SetAttributeNS('versao','','1.0.3.123'); executavel.SetAttributeNS('descricao','','Configuracoes da Aplicacao'); executavel.Text := 'configuracoes.exe'; //Cria o nó de bibliotecas dentro do nó principal bibliotecas := atualizacao.AddChild('bibliotecas'); //Adiciona uma biblioteca ao nó de biblioteca biblioteca := bibliotecas.AddChild('biblioteca'); biblioteca.SetAttributeNS('versao','','2.0.0.1'); biblioteca.SetAttributeNS('descricao','','Biblioteca de funcoes'); biblioteca.Text := 'funcoes.dll'; //Adiciona uma biblioteca ao nó de biblioteca biblioteca := bibliotecas.AddChild('biblioteca'); biblioteca.SetAttributeNS('versao','','1.2.0.4'); biblioteca.SetAttributeNS('descricao','','Biblioteca com rotinas de negocio da aplicacao'); biblioteca.Text := 'app.dll'; //Mostra o arquivo xml gerado Memo1.Lines.Text := XMLDocument1.XML.Text; end;
Se tudo ocorrer bem ao clicar no TButton do formulário será apresentado o texto do XML gerado pelo exemplo.
É isso aí pessoal, espero ter ajudado e aguardo suas dúvidas, comentários e sugestões.
Baixe os fontes do artigo no GitHub
amigo fiz igual ao seu código e apresentou diferença da estrutura, uma que não foi informado no código os nomes "gerencial.exe", "configuracoes.exe", "funcoes.dll" e mesmo sem informar no final não está sendo fechado
ResponderExcluirExemplo :
gerencial.exe não incluindo
Por que isso acontece?
Amigo, obrigado por seu comentário, realmente estava faltando eu colocar no código as partes que informavam o nomes dos módulos, mas sem aquela parte a sua estrutura deveria ficar assim
Excluir....
...
...
a barra ao final do nó executavel fecha o nó sem precisar criar um , para mais detalhes eu sugiro o seguinte site para você. http://www.w3schools.com/. lá tem bastante informações sobre como os XMLs devem ser construídos e quais são as regras.
O exemplo de xml do comentário acima, não apareceu da primeira vez que escrivi.
Excluir<executaveis>
<executavel versao='0.0.0.0' descricao='exemplo de xml'/>
</executaveis>
Bom dia, Jocimar. Existe alguma forma de nos comunicarmos sem ser por aqui pelo blog, skype por exemplo? Se sim me add por favor: natanael2com . Grato
ResponderExcluirShow de bola man!
ResponderExcluirAcabei de precisar disto!
Obrigado!