ClientDataSet com XML
15/02/2008
0
ClientDataSet.SaveToFile(´Arquivo.xml´, dfXML);
Como eu faria para recriar meu ClientDataSet puxando do Arquivo.xml?
vlw!!
Luiz_aquino
Posts
15/02/2008
Webjoel
ClientDataSet1.FileName := ´C:\Arquivo.xml´;
ClientDataSet1.Open;
15/02/2008
Luiz_aquino
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
15/02/2008
Paullsoftware
Salva o xml
ClientDataSet1.Close; ClientDataSet1.FileName := ´C:\dados.xml´; ClientDataSet1.CreateDataSet; ClientDataSet1.Close;
ClientDataSet1.Close; ClientDataSet1.LoadFromFile(´data.xml´); ClientDataSet1.Open;
15/02/2008
Webjoel
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...
24/08/2009
Fausto.malheiros
25/07/2019
Michele Pertille
up - estou com a mesa dúvida
25/07/2019
Jesus Lima
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.
25/07/2019
Michele Pertille
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 ?
25/07/2019
Jesus Lima
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.
26/07/2019
Jesus Lima
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.
26/07/2019
Jesus Lima
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');
26/07/2019
Michele Pertille
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.
Clique aqui para fazer login e interagir na Comunidade :)