Salvar dados em XML
Como eu posso salvar dados dentro de um arquivo XML, utilizando cds.
Se alguém puder postar um exemplo, fico muito agradecido.
Se alguém puder postar um exemplo, fico muito agradecido.
Martins
Curtidas 0
Respostas
Michael
03/09/2005
Grande Martins! ;-)
É muito simples salvar o conteúdo de um ClientDataSet como XML. Basta usar o método [b:3e8c9ae08b]SaveToFile[/b:3e8c9ae08b], passando como segundo parâmetro o flag [b:3e8c9ae08b]dtXML[/b:3e8c9ae08b]. Por exemplo:
Vale lembrar que o arquivo gerado será um [b:3e8c9ae08b]XML Datapacket[/b:3e8c9ae08b], que não é necessariamente um XML comum.
Para converter este arquivo para um XML ´de verdade´, você deve criar uma transformação usando o aplicativo [b:3e8c9ae08b]XML Mapper[/b:3e8c9ae08b], e usar o componente [b:3e8c9ae08b]XMLTransform [/b:3e8c9ae08b]em conjunto com o ClientDataSet.
Em último caso, há ainda a opção de usar [b:3e8c9ae08b]XML Databinding[/b:3e8c9ae08b], que eu pessoalmente gosto (e uso) muito.
Qualquer coisa é só postar.
[]´s
É muito simples salvar o conteúdo de um ClientDataSet como XML. Basta usar o método [b:3e8c9ae08b]SaveToFile[/b:3e8c9ae08b], passando como segundo parâmetro o flag [b:3e8c9ae08b]dtXML[/b:3e8c9ae08b]. Por exemplo:
ClientDataSet.SaveToFile(´C:\Arquivo.xml´, dtXML);
Vale lembrar que o arquivo gerado será um [b:3e8c9ae08b]XML Datapacket[/b:3e8c9ae08b], que não é necessariamente um XML comum.
Para converter este arquivo para um XML ´de verdade´, você deve criar uma transformação usando o aplicativo [b:3e8c9ae08b]XML Mapper[/b:3e8c9ae08b], e usar o componente [b:3e8c9ae08b]XMLTransform [/b:3e8c9ae08b]em conjunto com o ClientDataSet.
Em último caso, há ainda a opção de usar [b:3e8c9ae08b]XML Databinding[/b:3e8c9ae08b], que eu pessoalmente gosto (e uso) muito.
Qualquer coisa é só postar.
[]´s
GOSTEI 0
Martins
03/09/2005
Blz Michael!!!!!
Eu estava utilizando ClientDataSet, e estava dando um post, só q não salva nada no meu arquivo XML de nome dados, vou ver do jeito q vc descreve, ele vai sempre inserir novos dados ou sobrepor os q já estão lá?
Vou testar depois posto aqui novamente.
Eu estava utilizando ClientDataSet, e estava dando um post, só q não salva nada no meu arquivo XML de nome dados, vou ver do jeito q vc descreve, ele vai sempre inserir novos dados ou sobrepor os q já estão lá?
Vou testar depois posto aqui novamente.
GOSTEI 0
Martins
03/09/2005
Ok! pessoal, problema resolvido, o erro era do exemplo q eu peguei na NET, não quis nem perder tempo em arrumá-lo, parti para escrever um exemplo meu mesmo, utilizando ClientDatSet mesmo e foi um sucesso, aproveitei para testar uma outra tecnica, a de carregar o conteúdo dos meus arquivos XML no buffer no ClientDataSet e depois devolvê-los ao arq. XML com novos dados adicionados, gostaria de agradecer a todos q me ajudaram nessa, um forte a braço a todos!!!!
Só mais uma perguntinha: Para rodar um aplicativo q utilize o XML em outra máquina eu tenho q levar a lib Midas.Dll ou posso fazer de outra forma q ela não seja necessária ???
Martins
Só mais uma perguntinha: Para rodar um aplicativo q utilize o XML em outra máquina eu tenho q levar a lib Midas.Dll ou posso fazer de outra forma q ela não seja necessária ???
Martins
GOSTEI 0
Jax
03/09/2005
Apartir do Delphi 6: Declare MidasLib no uses do datamodule.
GOSTEI 0
Brunolspp
03/09/2005
Alem do padrao xml convencional do datapackage vc pode usar binario e xmlutf8 tb
e so mudat o tipo de criacao no metodo savetofile,
no help esta especificado.
e so mudat o tipo de criacao no metodo savetofile,
no help esta especificado.
GOSTEI 0
Martins
03/09/2005
Alem do padrao xml convencional do datapackage vc pode usar binario e xmlutf8 tb
e so mudat o tipo de criacao no metodo savetofile,
no help esta especificado.
Grande Bruno, muito obrigado pela dica, valew mesmo.
t+
GOSTEI 0