ClientDataSet com XML
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!!
ClientDataSet.SaveToFile(´Arquivo.xml´, dfXML);
Como eu faria para recriar meu ClientDataSet puxando do Arquivo.xml?
vlw!!
Luiz_aquino
Curtidas 0
Respostas
Webjoel
15/02/2008
Use a propriedade FileName do ClientDataSet. Ex:
ClientDataSet1.FileName := ´C:\Arquivo.xml´;
ClientDataSet1.Open;
ClientDataSet1.FileName := ´C:\Arquivo.xml´;
ClientDataSet1.Open;
GOSTEI 0
Luiz_aquino
15/02/2008
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
GOSTEI 0
Paullsoftware
15/02/2008
Eu creio que para salvar em xml e para carregar basta fazer assim:
Salva o xml
E para carregar basta
espero ter ajudado :wink:
Salva o xml
ClientDataSet1.Close; ClientDataSet1.FileName := ´C:\dados.xml´; ClientDataSet1.CreateDataSet; ClientDataSet1.Close;
ClientDataSet1.Close; ClientDataSet1.LoadFromFile(´data.xml´); ClientDataSet1.Open;
GOSTEI 0
Webjoel
15/02/2008
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...
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...
GOSTEI 0
Fausto.malheiros
15/02/2008
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?
GOSTEI 0
Michele Pertille
15/02/2008
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
GOSTEI 0
Jesus Lima
15/02/2008
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.
GOSTEI 0
Michele Pertille
15/02/2008
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 ?
GOSTEI 0
Jesus Lima
15/02/2008
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.
GOSTEI 0
Jesus Lima
15/02/2008
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.
GOSTEI 0
Jesus Lima
15/02/2008
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');
GOSTEI 0
Michele Pertille
15/02/2008
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.
GOSTEI 0