Fórum DELPHI COM XML ENCADEADO #587341
31/10/2017
0
OLÁ.
ESTOU TENTANDO CRIAR UM ARQUIVO XML COM O XMLDOCUMENT, O ARQUIVO XML OSSUI VARIOS NODES COM A MESMA ESTRUTURA E NOMES, EXEMPLO:
<dados>
<documentos>
<codigo>1</codigo>
</documentos>
<documentos>
<codigo>1</codigo>
</documentos>
</dados>
porém ele so pega o ultimo registro do banco. E tambem ao inves de criar o node dados uma unica vez e criar o node documento varias vezes ele está criando o node dados e documentos varias vezes.
ESTOU TENTANDO CRIAR UM ARQUIVO XML COM O XMLDOCUMENT, O ARQUIVO XML OSSUI VARIOS NODES COM A MESMA ESTRUTURA E NOMES, EXEMPLO:
<dados>
<documentos>
<codigo>1</codigo>
</documentos>
<documentos>
<codigo>1</codigo>
</documentos>
</dados>
porém ele so pega o ultimo registro do banco. E tambem ao inves de criar o node dados uma unica vez e criar o node documento varias vezes ele está criando o node dados e documentos varias vezes.
Tiago
Curtir tópico
+ 0
Responder
Post mais votado
25/01/2018
Olá Tiago, veja se ajuda na resolução do seu problema.
Uses Xml.xmldom, Xml.XMLIntf, Xml.Win.msxmldom, Xml.XMLDoc;
procedure TfrmTeste.btn1Click(Sender: TObject);
var
XMLTeste : TXMLDocument;
Root, NodeRec : IXmlNode;
I : Integer;
begin
//Cria o arquivo XML
XMLTeste := TXMLDocument.Create(Application);
XMLTeste.Active := False;
XMLTeste.XML.Clear;
//Preenche o cabeçalho do XML contendo os dados padrões
XMLTeste.Options := [doNodeAutoIndent];
XMLTeste.Active := True;
XMLTeste.Encoding := 'UTF-8';
XMLTeste.Version := '1.0';
//Adiciona a estrutura principal
Root := XMLTeste.addChild('DADOS');
//Adiciona a estrutura secundária dos documentos
with Root.AddChild('DOCUMENTOS') do
begin
//Neste ponto você vai adicionar um Loop do seu
//componente de dados para preencher o campo código
for I := 1 to 20 do
begin
AddChild('CODIGO').NodeValue := I;
end;
end;
XMLTeste.SaveToFile('.\\Texte.XML');
XMLTeste.Free;
end;
Jerson Boer
Responder
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)