Ler arquivo XML
Olá pessoal,
após ter feito um ClientDataSet1.SaveToFile(´C:\TESTE.XML´,dfXML), como fazer para ler o arquivo xml, já tentei LoadFromFile, mas os dados não são lidos. O que fazer?
Grato.
após ter feito um ClientDataSet1.SaveToFile(´C:\TESTE.XML´,dfXML), como fazer para ler o arquivo xml, já tentei LoadFromFile, mas os dados não são lidos. O que fazer?
Grato.
Lperosa
Curtidas 0
Respostas
Fórum Vini
13/10/2004
Olá,
tente usar a propriedade FileName e depois o método Open.
Espero ter ajudado,
Vincius;
tente usar a propriedade FileName e depois o método Open.
with ClientDataset1 do begin FileName:= ´NomeDoArquivo.xml´; Open; end;
Espero ter ajudado,
Vincius;
GOSTEI 0
Lperosa
13/10/2004
Vinicius, não deu certo.
Valeu.
Valeu.
GOSTEI 0
Fórum Vini
13/10/2004
Vinicius, não deu certo.
Valeu.
Mas o que acontece? Dá exceção?
GOSTEI 0
Lperosa
13/10/2004
não, apenas os dados não são importados para o ClientDataSet...
GOSTEI 0
Fórum Vini
13/10/2004
não, apenas os dados não são importados para o ClientDataSet...
(Menos mal :lol: )
Você tem certeza que os dados estão guardados corretamente no XML?
Eu acabei de testar aqui e funcionou.. :roll:
Tente colocar um DBGrid(se já tiver, crie um novo) no seu form e ligue-o ao DataSource que estiver ligado ao ClientDataset para verificar se realmente os dados não estão sendo carregados ou exibidos.. Verifique também a propriedade Filter do seu ClientDataset
GOSTEI 0
Lperosa
13/10/2004
Tenho certeza que estão guardados corretamente pois oq eu faço é:
Após inserir os dados,
ClientDataSet.SaveToFile(´teste.xml´,dfXML);
ClientDataSet.EmptyDataSet;
ClientDataSet.LoadFromFile(´teste.xml´);
ClientDataSet.Open;
O ClientDataSet já está ligado ao DBGrid, porem os dados não aparecem.
Não sei o que pode ser...
Após inserir os dados,
ClientDataSet.SaveToFile(´teste.xml´,dfXML);
ClientDataSet.EmptyDataSet;
ClientDataSet.LoadFromFile(´teste.xml´);
ClientDataSet.Open;
O ClientDataSet já está ligado ao DBGrid, porem os dados não aparecem.
Não sei o que pode ser...
GOSTEI 0
Lperosa
13/10/2004
Tenho certeza que estão guardados corretamente pois oq eu faço é:
Após inserir os dados,
ClientDataSet.SaveToFile(´teste.xml´,dfXML);
ClientDataSet.EmptyDataSet;
ClientDataSet.LoadFromFile(´teste.xml´);
ClientDataSet.Open;
O ClientDataSet já está ligado ao DBGrid, porem os dados não aparecem.
Não sei o que pode ser...
Desculpe no ClientDataSet.LoadFromFile(´teste.xml´); eu faço um ClientDataSet.FileName := ´teste.xml´;
GOSTEI 0
Fórum Vini
13/10/2004
:?
Lembrei agora de um problema parecido que tive.. por você estar usando o SaveToFile isso não deveria acontecer, mas não custa tentar.. coloque um Close logo após o SaveToFile e veja no que dá...
Se nem assim der, tem como vc me mandar o teste.xml pra que eu veja aqui?
Lembrei agora de um problema parecido que tive.. por você estar usando o SaveToFile isso não deveria acontecer, mas não custa tentar.. coloque um Close logo após o SaveToFile e veja no que dá...
Se nem assim der, tem como vc me mandar o teste.xml pra que eu veja aqui?
GOSTEI 0
Lperosa
13/10/2004
enviei para o e-mail sememeuil@hotmail.com
GOSTEI 0
Fórum Vini
13/10/2004
:oops:
Você enviou para o meu email antigo, que inclusive já foi desativado pelo pessoal do hotmail.. tem como vc mandar de novo para o vinifreis@yahoo.com.br ou então para vini.reis@gmail.com?
Desculpa o incômodo,
T+,
Vinicius;
Você enviou para o meu email antigo, que inclusive já foi desativado pelo pessoal do hotmail.. tem como vc mandar de novo para o vinifreis@yahoo.com.br ou então para vini.reis@gmail.com?
Desculpa o incômodo,
T+,
Vinicius;
GOSTEI 0
Rômulo Barros
13/10/2004
Tenho certeza que estão guardados corretamente pois oq eu faço é:
Após inserir os dados,
ClientDataSet.SaveToFile(´teste.xml´,dfXML);
ClientDataSet.EmptyDataSet;
ClientDataSet.LoadFromFile(´teste.xml´);
ClientDataSet.Open;
O ClientDataSet já está ligado ao DBGrid, porem os dados não aparecem.
Não sei o que pode ser...
Os dados não aparecem e nunca irão aparecer, uma vez que após a inserção vc está [u:09e56b662e][b:09e56b662e]limpando[/b:09e56b662e][/u:09e56b662e] os dados do XML com o commando [b:09e56b662e]EmptyDataSet[/b:09e56b662e].
[color=red:09e56b662e][u:09e56b662e][b:09e56b662e]Segue a solução:[/b:09e56b662e][/u:09e56b662e][/color:09e56b662e]
ClientDataSet.SaveToFile(´teste.xml´,dfXML); // ClientDataSet.EmptyDataSet; Retire esta linha ClientDataSet.LoadFromFile(´teste.xml´); ClientDataSet.Open;
GOSTEI 0
Lperosa
13/10/2004
Cara refiz todo o processo e recoloquei os componentes e funcionou, apenas com ClientDataSet1.SaveToFile(´C:\TESTE.XML´,dfXML); e ClientDataSet2.LoadFromFile(´C:\TESTE.XML´);. Muito simples, sem problema algum, não sei o que pode ter sido que não estava funcionando.
Fico grato pelo seu interesse e ajuda. Quando precisar de algo não exite em perguntar. Valeu.
Fico grato pelo seu interesse e ajuda. Quando precisar de algo não exite em perguntar. Valeu.
GOSTEI 0
Fórum Vini
13/10/2004
[quote:d03ea42d60=´Undeclared Identifier´]Os dados não aparecem e nunca irão aparecer, uma vez que após a inserção vc está [u:d03ea42d60][b:d03ea42d60]limpando[/b:d03ea42d60][/u:d03ea42d60] os dados do XML com o commando [b:d03ea42d60]EmptyDataSet[/b:d03ea42d60].
[/quote:d03ea42d60]
Eu até concordo, mas se a propriedade FileName não estiver setada, isso não vai fazer diferença alguma, já que o ClientDataSet não vai alterar nada no arquivo.. ele manda salvar antes de limpar..
Você deve ter deixado alguma coisa no Filter do cds, ou então sei lá.. :lol:
( Foi por isso que eu tinha pedido pra que você colocasse outro DbGrid no form, às vezes a gente muda algumas propriedades do componente e esquece )
Fico feliz por ter dado certo :D
[/quote:d03ea42d60]
Eu até concordo, mas se a propriedade FileName não estiver setada, isso não vai fazer diferença alguma, já que o ClientDataSet não vai alterar nada no arquivo.. ele manda salvar antes de limpar..
não sei o que pode ter sido que não estava funcionando.
Você deve ter deixado alguma coisa no Filter do cds, ou então sei lá.. :lol:
( Foi por isso que eu tinha pedido pra que você colocasse outro DbGrid no form, às vezes a gente muda algumas propriedades do componente e esquece )
Fico feliz por ter dado certo :D
GOSTEI 0