Salvar dados em XML

Delphi

03/09/2005

Como eu posso salvar dados dentro de um arquivo XML, utilizando cds.

Se alguém puder postar um exemplo, fico muito agradecido.


Martins

Martins

Curtidas 0

Respostas

Michael

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:

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

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.


GOSTEI 0
Martins

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


GOSTEI 0
Jax

Jax

03/09/2005

Apartir do Delphi 6: Declare MidasLib no uses do datamodule.


GOSTEI 0
Brunolspp

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.


GOSTEI 0
Martins

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
POSTAR