ClientDataSet com XML

15/02/2008

0

Para eu criar um xml de um clientdataset faço:
ClientDataSet.SaveToFile(´Arquivo.xml´, dfXML);

Como eu faria para recriar meu ClientDataSet puxando do Arquivo.xml?

vlw!!


Luiz_aquino

Luiz_aquino

Responder

Posts

15/02/2008

Webjoel

Use a propriedade FileName do ClientDataSet. Ex:

ClientDataSet1.FileName := ´C:\Arquivo.xml´;
ClientDataSet1.Open;


Responder

15/02/2008

Luiz_aquino

Use a propriedade FileName do ClientDataSet. Ex: ClientDataSet1.FileName := ´C:\Arquivo.xml´; ClientDataSet1.Open;


Já aproveitando!

Como faço para ler linhas do xml
digamos que dentro do meu arquivo xml eu tenho uma linha
´Inicio´ e outra ´FIM´

entre essas duas linha ele faça tal coisa


Responder

15/02/2008

Paullsoftware

Eu creio que para salvar em xml e para carregar basta fazer assim:
Salva o xml
ClientDataSet1.Close;
ClientDataSet1.FileName := ´C:\dados.xml´;
ClientDataSet1.CreateDataSet;
ClientDataSet1.Close;
E para carregar basta
ClientDataSet1.Close;
ClientDataSet1.LoadFromFile(´data.xml´);
ClientDataSet1.Open;
espero ter ajudado :wink:


Responder

15/02/2008

Webjoel

Olá!

Amigo tudo depende do tipo de dado que que você quer tratar, você pode simplesmente criar campos no seu clientdataset e salvar como xml, e logo depois você pode abrir da mesma forma como disse acima e como nosso amigo abaixo complementou.

Tudo depende do que você está querendo fazer...


Responder

24/08/2009

Fausto.malheiros

Meu arquivo XML esta sendo gerado em uma unica linha...como faço para gera-lo de forma que pode ser lido em um editor de texto comum...linha alinha?


Responder

25/07/2019

Michele Pertille

Meu arquivo XML esta sendo gerado em uma unica linha...como faço para gera-lo de forma que pode ser lido em um editor de texto comum...linha alinha?




up - estou com a mesa dúvida
Responder

25/07/2019

Jesus Lima

Meu arquivo XML esta sendo gerado em uma unica linha...como faço para gera-lo de forma que pode ser lido em um editor de texto comum...linha alinha?




up - estou com a mesa dúvida


ola pessoal vocês podem utilizar o xmldocument para criar o seu XML, abaixo deixo um exemplo de como utlizá-lo


Var
Raiz, Nome, NomeAttrib, SobreNome,
Endereco, Rua, Bairro,
Ver, PowerBy: IXMLNode;
begin
XMLDocument1.FileName := '';
XMLDocument1.XML.Text := '';
XMLDocument1.Active := False;
XMLDocument1.Active := True;
XMLDocument1.Version := '1.0';
XMLDocument1.Encoding := 'UTF-8';

// RAIZ
Raiz := XMLDocument1.AddChild('RAIZ');

// POWER BY
PowerBy := XMLDocument1.CreateNode('POWER_BY', ntAttribute);
PowerBy.Text := 'CRIANDO XML';
Raiz.AttributeNodes.Add(PowerBy);

// VERSÃO
Ver := XMLDocument1.CreateNode('VERSAO', ntAttribute);
Ver.Text := '1.0';
Raiz.AttributeNodes.Add(ver);

// NOME
Nome := XMLDocument1.CreateNode('NOME', ntElement);
Raiz.ChildNodes.Add(Nome);

// NOME ATRIBUTO
NomeAttrib := XMLDocument1.CreateNode('NOME', ntAttribute);
NomeAttrib.Text := 'Jesus Lima';
Nome.AttributeNodes.Add(NomeAttrib);

SobreNome := XMLDocument1.CreateNode('SOBRENOME', ntAttribute);
SobreNome.Text := ' do Nascimento';
Nome.AttributeNodes.Add(SobreNome);


//XMLDocument1.CreateElement('Jesus_Lima', '');
Endereco := XMLDocument1.CreateNode('ENDERECO', ntElement);
Raiz.ChildNodes.Add(Endereco);

Rua := XMLDocument1.CreateNode('RUA', ntAttribute);
Rua.Text := 'rua xxxxx, 9999';
Endereco.AttributeNodes.Add(Rua);

Bairro := XMLDocument1.CreateNode('BAIRRO', ntAttribute);
Bairro.Text := 'bairro_xxxx ';
Endereco.AttributeNodes.Add(Bairro);


XMLDocument1.SaveToFile('myxmldoc.xml');
XMLDocument1.Active := False;




Espero que ajude.

qualquer duvida estou a disposição.
Responder

25/07/2019

Michele Pertille

Meu arquivo XML esta sendo gerado em uma unica linha...como faço para gera-lo de forma que pode ser lido em um editor de texto comum...linha alinha?




up - estou com a mesa dúvida


ola pessoal vocês podem utilizar o xmldocument para criar o seu XML, abaixo deixo um exemplo de como utlizá-lo


Var
Raiz, Nome, NomeAttrib, SobreNome,
Endereco, Rua, Bairro,
Ver, PowerBy: IXMLNode;
begin
XMLDocument1.FileName := '';
XMLDocument1.XML.Text := '';
XMLDocument1.Active := False;
XMLDocument1.Active := True;
XMLDocument1.Version := '1.0';
XMLDocument1.Encoding := 'UTF-8';

// RAIZ
Raiz := XMLDocument1.AddChild('RAIZ');

// POWER BY
PowerBy := XMLDocument1.CreateNode('POWER_BY', ntAttribute);
PowerBy.Text := 'CRIANDO XML';
Raiz.AttributeNodes.Add(PowerBy);

// VERSÃO
Ver := XMLDocument1.CreateNode('VERSAO', ntAttribute);
Ver.Text := '1.0';
Raiz.AttributeNodes.Add(ver);

// NOME
Nome := XMLDocument1.CreateNode('NOME', ntElement);
Raiz.ChildNodes.Add(Nome);

// NOME ATRIBUTO
NomeAttrib := XMLDocument1.CreateNode('NOME', ntAttribute);
NomeAttrib.Text := 'Jesus Lima';
Nome.AttributeNodes.Add(NomeAttrib);

SobreNome := XMLDocument1.CreateNode('SOBRENOME', ntAttribute);
SobreNome.Text := ' do Nascimento';
Nome.AttributeNodes.Add(SobreNome);


//XMLDocument1.CreateElement('Jesus_Lima', '');
Endereco := XMLDocument1.CreateNode('ENDERECO', ntElement);
Raiz.ChildNodes.Add(Endereco);

Rua := XMLDocument1.CreateNode('RUA', ntAttribute);
Rua.Text := 'rua xxxxx, 9999';
Endereco.AttributeNodes.Add(Rua);

Bairro := XMLDocument1.CreateNode('BAIRRO', ntAttribute);
Bairro.Text := 'bairro_xxxx ';
Endereco.AttributeNodes.Add(Bairro);


XMLDocument1.SaveToFile('myxmldoc.xml');
XMLDocument1.Active := False;




Espero que ajude.

qualquer duvida estou a disposição.


Boa tarde, como estou realizando um projeto cujo foi desenvolvido em ClientDataSet para verificar campos em um XML, seria certo eu fazer a alteração do campos como o sistema faz hoje em cima do documento de XML e com o componente XMLDocument eu fazer importação do arquivo editado e transforma-lo novamente em XML, porém indentado ?
Responder

25/07/2019

Jesus Lima

Meu arquivo XML esta sendo gerado em uma unica linha...como faço para gera-lo de forma que pode ser lido em um editor de texto comum...linha alinha?




up - estou com a mesa dúvida


ola pessoal vocês podem utilizar o xmldocument para criar o seu XML, abaixo deixo um exemplo de como utlizá-lo


Var
Raiz, Nome, NomeAttrib, SobreNome,
Endereco, Rua, Bairro,
Ver, PowerBy: IXMLNode;
begin
XMLDocument1.FileName := '';
XMLDocument1.XML.Text := '';
XMLDocument1.Active := False;
XMLDocument1.Active := True;
XMLDocument1.Version := '1.0';
XMLDocument1.Encoding := 'UTF-8';

// RAIZ
Raiz := XMLDocument1.AddChild('RAIZ');

// POWER BY
PowerBy := XMLDocument1.CreateNode('POWER_BY', ntAttribute);
PowerBy.Text := 'CRIANDO XML';
Raiz.AttributeNodes.Add(PowerBy);

// VERSÃO
Ver := XMLDocument1.CreateNode('VERSAO', ntAttribute);
Ver.Text := '1.0';
Raiz.AttributeNodes.Add(ver);

// NOME
Nome := XMLDocument1.CreateNode('NOME', ntElement);
Raiz.ChildNodes.Add(Nome);

// NOME ATRIBUTO
NomeAttrib := XMLDocument1.CreateNode('NOME', ntAttribute);
NomeAttrib.Text := 'Jesus Lima';
Nome.AttributeNodes.Add(NomeAttrib);

SobreNome := XMLDocument1.CreateNode('SOBRENOME', ntAttribute);
SobreNome.Text := ' do Nascimento';
Nome.AttributeNodes.Add(SobreNome);


//XMLDocument1.CreateElement('Jesus_Lima', '');
Endereco := XMLDocument1.CreateNode('ENDERECO', ntElement);
Raiz.ChildNodes.Add(Endereco);

Rua := XMLDocument1.CreateNode('RUA', ntAttribute);
Rua.Text := 'rua xxxxx, 9999';
Endereco.AttributeNodes.Add(Rua);

Bairro := XMLDocument1.CreateNode('BAIRRO', ntAttribute);
Bairro.Text := 'bairro_xxxx ';
Endereco.AttributeNodes.Add(Bairro);


XMLDocument1.SaveToFile('myxmldoc.xml');
XMLDocument1.Active := False;




Espero que ajude.

qualquer duvida estou a disposição.


Boa tarde, como estou realizando um projeto cujo foi desenvolvido em ClientDataSet para verificar campos em um XML, seria certo eu fazer a alteração do campos como o sistema faz hoje em cima do documento de XML e com o componente XMLDocument eu fazer importação do arquivo editado e transforma-lo novamente em XML, porém indentado ?




acho que esse artigo pode te ajudar bastante na sua duvida.
https://www.devmedia.com.br/gerando-arquivos-xml/5290

caso tenha alguma duvida posso te ajudar.

Abraço.
Responder

26/07/2019

Jesus Lima

Meu arquivo XML esta sendo gerado em uma unica linha...como faço para gera-lo de forma que pode ser lido em um editor de texto comum...linha alinha?




up - estou com a mesa dúvida


ola pessoal vocês podem utilizar o xmldocument para criar o seu XML, abaixo deixo um exemplo de como utlizá-lo


Var
Raiz, Nome, NomeAttrib, SobreNome,
Endereco, Rua, Bairro,
Ver, PowerBy: IXMLNode;
begin
XMLDocument1.FileName := '';
XMLDocument1.XML.Text := '';
XMLDocument1.Active := False;
XMLDocument1.Active := True;
XMLDocument1.Version := '1.0';
XMLDocument1.Encoding := 'UTF-8';

// RAIZ
Raiz := XMLDocument1.AddChild('RAIZ');

// POWER BY
PowerBy := XMLDocument1.CreateNode('POWER_BY', ntAttribute);
PowerBy.Text := 'CRIANDO XML';
Raiz.AttributeNodes.Add(PowerBy);

// VERSÃO
Ver := XMLDocument1.CreateNode('VERSAO', ntAttribute);
Ver.Text := '1.0';
Raiz.AttributeNodes.Add(ver);

// NOME
Nome := XMLDocument1.CreateNode('NOME', ntElement);
Raiz.ChildNodes.Add(Nome);

// NOME ATRIBUTO
NomeAttrib := XMLDocument1.CreateNode('NOME', ntAttribute);
NomeAttrib.Text := 'Jesus Lima';
Nome.AttributeNodes.Add(NomeAttrib);

SobreNome := XMLDocument1.CreateNode('SOBRENOME', ntAttribute);
SobreNome.Text := ' do Nascimento';
Nome.AttributeNodes.Add(SobreNome);


//XMLDocument1.CreateElement('Jesus_Lima', '');
Endereco := XMLDocument1.CreateNode('ENDERECO', ntElement);
Raiz.ChildNodes.Add(Endereco);

Rua := XMLDocument1.CreateNode('RUA', ntAttribute);
Rua.Text := 'rua xxxxx, 9999';
Endereco.AttributeNodes.Add(Rua);

Bairro := XMLDocument1.CreateNode('BAIRRO', ntAttribute);
Bairro.Text := 'bairro_xxxx ';
Endereco.AttributeNodes.Add(Bairro);


XMLDocument1.SaveToFile('myxmldoc.xml');
XMLDocument1.Active := False;




Espero que ajude.

qualquer duvida estou a disposição.


Boa tarde, como estou realizando um projeto cujo foi desenvolvido em ClientDataSet para verificar campos em um XML, seria certo eu fazer a alteração do campos como o sistema faz hoje em cima do documento de XML e com o componente XMLDocument eu fazer importação do arquivo editado e transforma-lo novamente em XML, porém indentado ?




acho que esse artigo pode te ajudar bastante na sua duvida.
https://www.devmedia.com.br/gerando-arquivos-xml/5290

caso tenha alguma duvida posso te ajudar.

Abraço.


Olá Michele, tudo bem?

o artigo consegui te ajudar? ou você ainda tem duvidas?

Abraços.
Responder

26/07/2019

Jesus Lima

Meu arquivo XML esta sendo gerado em uma unica linha...como faço para gera-lo de forma que pode ser lido em um editor de texto comum...linha alinha?




up - estou com a mesa dúvida


ola pessoal vocês podem utilizar o xmldocument para criar o seu XML, abaixo deixo um exemplo de como utlizá-lo


Var
Raiz, Nome, NomeAttrib, SobreNome,
Endereco, Rua, Bairro,
Ver, PowerBy: IXMLNode;
begin
XMLDocument1.FileName := '';
XMLDocument1.XML.Text := '';
XMLDocument1.Active := False;
XMLDocument1.Active := True;
XMLDocument1.Version := '1.0';
XMLDocument1.Encoding := 'UTF-8';

// RAIZ
Raiz := XMLDocument1.AddChild('RAIZ');

// POWER BY
PowerBy := XMLDocument1.CreateNode('POWER_BY', ntAttribute);
PowerBy.Text := 'CRIANDO XML';
Raiz.AttributeNodes.Add(PowerBy);

// VERSÃO
Ver := XMLDocument1.CreateNode('VERSAO', ntAttribute);
Ver.Text := '1.0';
Raiz.AttributeNodes.Add(ver);

// NOME
Nome := XMLDocument1.CreateNode('NOME', ntElement);
Raiz.ChildNodes.Add(Nome);

// NOME ATRIBUTO
NomeAttrib := XMLDocument1.CreateNode('NOME', ntAttribute);
NomeAttrib.Text := 'Jesus Lima';
Nome.AttributeNodes.Add(NomeAttrib);

SobreNome := XMLDocument1.CreateNode('SOBRENOME', ntAttribute);
SobreNome.Text := ' do Nascimento';
Nome.AttributeNodes.Add(SobreNome);


//XMLDocument1.CreateElement('Jesus_Lima', '');
Endereco := XMLDocument1.CreateNode('ENDERECO', ntElement);
Raiz.ChildNodes.Add(Endereco);

Rua := XMLDocument1.CreateNode('RUA', ntAttribute);
Rua.Text := 'rua xxxxx, 9999';
Endereco.AttributeNodes.Add(Rua);

Bairro := XMLDocument1.CreateNode('BAIRRO', ntAttribute);
Bairro.Text := 'bairro_xxxx ';
Endereco.AttributeNodes.Add(Bairro);


XMLDocument1.SaveToFile('myxmldoc.xml');
XMLDocument1.Active := False;




Espero que ajude.

qualquer duvida estou a disposição.


Boa tarde, como estou realizando um projeto cujo foi desenvolvido em ClientDataSet para verificar campos em um XML, seria certo eu fazer a alteração do campos como o sistema faz hoje em cima do documento de XML e com o componente XMLDocument eu fazer importação do arquivo editado e transforma-lo novamente em XML, porém indentado ?




acho que esse artigo pode te ajudar bastante na sua duvida.
https://www.devmedia.com.br/gerando-arquivos-xml/5290

caso tenha alguma duvida posso te ajudar.

Abraço.


Olá Michele, tudo bem?

o artigo consegui te ajudar? ou você ainda tem duvidas?

Abraços.



você poderia fazer assim também..

Procedure FormatXMLFile(XmlFile:string);
var
oXml : TXMLDocument;
s : utf8String;
begin
oXml := TXMLDocument.Create(nil);
try
oXml.LoadFromFile(XmlFile);
s := oxml.XML.Text;
s := StringReplace(s, ‘>’ + #13#10 + ‘<' , [rfReplaceAll]);
oxml.XML.Text := s;
oXml.Active := true;
oXml.SaveToFile(XmlFile);
finally
oXml := nil;
end;
end;

--chamada do procedimento
ClientDataSet1.SaveToFile('dados.xml',dfXML);
FormatXMLFile('dados.xml');
Responder

26/07/2019

Michele Pertille

Meu arquivo XML esta sendo gerado em uma unica linha...como faço para gera-lo de forma que pode ser lido em um editor de texto comum...linha alinha?




up - estou com a mesa dúvida


ola pessoal vocês podem utilizar o xmldocument para criar o seu XML, abaixo deixo um exemplo de como utlizá-lo


Var
Raiz, Nome, NomeAttrib, SobreNome,
Endereco, Rua, Bairro,
Ver, PowerBy: IXMLNode;
begin
XMLDocument1.FileName := '';
XMLDocument1.XML.Text := '';
XMLDocument1.Active := False;
XMLDocument1.Active := True;
XMLDocument1.Version := '1.0';
XMLDocument1.Encoding := 'UTF-8';

// RAIZ
Raiz := XMLDocument1.AddChild('RAIZ');

// POWER BY
PowerBy := XMLDocument1.CreateNode('POWER_BY', ntAttribute);
PowerBy.Text := 'CRIANDO XML';
Raiz.AttributeNodes.Add(PowerBy);

// VERSÃO
Ver := XMLDocument1.CreateNode('VERSAO', ntAttribute);
Ver.Text := '1.0';
Raiz.AttributeNodes.Add(ver);

// NOME
Nome := XMLDocument1.CreateNode('NOME', ntElement);
Raiz.ChildNodes.Add(Nome);

// NOME ATRIBUTO
NomeAttrib := XMLDocument1.CreateNode('NOME', ntAttribute);
NomeAttrib.Text := 'Jesus Lima';
Nome.AttributeNodes.Add(NomeAttrib);

SobreNome := XMLDocument1.CreateNode('SOBRENOME', ntAttribute);
SobreNome.Text := ' do Nascimento';
Nome.AttributeNodes.Add(SobreNome);


//XMLDocument1.CreateElement('Jesus_Lima', '');
Endereco := XMLDocument1.CreateNode('ENDERECO', ntElement);
Raiz.ChildNodes.Add(Endereco);

Rua := XMLDocument1.CreateNode('RUA', ntAttribute);
Rua.Text := 'rua xxxxx, 9999';
Endereco.AttributeNodes.Add(Rua);

Bairro := XMLDocument1.CreateNode('BAIRRO', ntAttribute);
Bairro.Text := 'bairro_xxxx ';
Endereco.AttributeNodes.Add(Bairro);


XMLDocument1.SaveToFile('myxmldoc.xml');
XMLDocument1.Active := False;




Espero que ajude.

qualquer duvida estou a disposição.


Boa tarde, como estou realizando um projeto cujo foi desenvolvido em ClientDataSet para verificar campos em um XML, seria certo eu fazer a alteração do campos como o sistema faz hoje em cima do documento de XML e com o componente XMLDocument eu fazer importação do arquivo editado e transforma-lo novamente em XML, porém indentado ?




acho que esse artigo pode te ajudar bastante na sua duvida.
https://www.devmedia.com.br/gerando-arquivos-xml/5290

caso tenha alguma duvida posso te ajudar.

Abraço.


Olá Michele, tudo bem?

o artigo consegui te ajudar? ou você ainda tem duvidas?

Abraços.



você poderia fazer assim também..

Procedure FormatXMLFile(XmlFile:string);
var
oXml : TXMLDocument;
s : utf8String;
begin
oXml := TXMLDocument.Create(nil);
try
oXml.LoadFromFile(XmlFile);
s := oxml.XML.Text;
s := StringReplace(s, ‘>’ + #13#10 + ‘<' , [rfReplaceAll]);
oxml.XML.Text := s;
oXml.Active := true;
oXml.SaveToFile(XmlFile);
finally
oXml := nil;
end;
end;

--chamada do procedimento
ClientDataSet1.SaveToFile('dados.xml',dfXML);
FormatXMLFile('dados.xml');


Obrigado a todos que me ajudaram, consegui sanar minha dúvida utilizando o código acima.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar