GARANTIR DESCONTO

Fórum Juntar vários arquivos XML em 1 #353831

15/02/2008

0

Como faço para compactar vários arquivos xml em 1 arquivo e depois descompactar, não se tradando de ZIP;


Luiz_aquino

Luiz_aquino

Responder

Posts

15/02/2008

Dor_poa

Tu quer juntar todos os dados??

Eu creio que o que vc quer não seja possível sem que compacte.. outra forma que vejo seria mande ler Todos os XML e ir acumulando em uma SÓ tabela!! e depois mande gerar novamente um XML.. mas como vc nao irá se perder e outra coisa! acho que e pior!!!!

Se souber como fazer isso de outra forma.. favor me encaminha uma mensagem para a minha MP, pois fiquei interessado!!!


Responder

Gostei + 0

15/02/2008

Luiz_aquino

Tu quer juntar todos os dados?? Eu creio que o que vc quer não seja possível sem que compacte.. outra forma que vejo seria mande ler Todos os XML e ir acumulando em uma SÓ tabela!! e depois mande gerar novamente um XML.. mas como vc nao irá se perder e outra coisa! acho que e pior!!!! Se souber como fazer isso de outra forma.. favor me encaminha uma mensagem para a minha MP, pois fiquei interessado!!!


Como faço para ler linha por linha de um arquivo xml?


Responder

Gostei + 0

15/02/2008

Dor_poa

Assim amigo..
Se ele for um XML vc manda seu ClientDataSet abri-lo


Assim:

Salvando um XML com resultado de uma tabela
ClientDataSet.open;
ClientDataSet.SaveToFile(NomeArquivo, dfXMLUTF8);

Obs.: Obvio que estou partindo do principio que seu select ja foi executado com as instruções necessárias.



Abrindo um XML
ClientDataSet.close;
ClientDataSet.FileName := NomeArquivo;
ClientDataSet.LoadFromFile(CDSIMPORTACAO.FileName);
ClientDataSet.open;

Prontoo...
Agora e so vc trabalhar!!
todos os registros estarão carregados dentro do seu ClientDataSet manipule a informação do geito que quiser!!
exemplo!!

ClientDataSet.open;
while not ClientDataSet.eof do
Begin
showmessage(ClientDataSet.fieldbyname(´CAMPO).asstring);
ClientDataSet.next;
End;


Meu MSN esta a disposição


Responder

Gostei + 0

18/02/2008

Luiz_aquino

Assim amigo.. Se ele for um XML vc manda seu ClientDataSet abri-lo Assim: Salvando um XML com resultado de uma tabela ClientDataSet.open; ClientDataSet.SaveToFile(NomeArquivo, dfXMLUTF8); Obs.: Obvio que estou partindo do principio que seu select ja foi executado com as instruções necessárias. Abrindo um XML ClientDataSet.close; ClientDataSet.FileName := NomeArquivo; ClientDataSet.LoadFromFile(CDSIMPORTACAO.FileName); ClientDataSet.open; Prontoo... Agora e so vc trabalhar!! todos os registros estarão carregados dentro do seu ClientDataSet manipule a informação do geito que quiser!! exemplo!! ClientDataSet.open; while not ClientDataSet.eof do Begin showmessage(ClientDataSet.fieldbyname(´CAMPO).asstring); ClientDataSet.next; End; Meu MSN esta a disposição


Solução:

Coloquei cada arquivo xml, ou melhor, o conteúdo (linhas) em uma stringlist, no inicio de cada arquivo que eu pegava eu colocava uma tag indicando o inicio dpo arquivo, depois de tudo pronto salvava a stringlist como um arquivo txt, mandava ler ele e verifica a tag e ia criando novos arquivos xml e montando os dataset, os arquivos eu salvo todos no temp do windows.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar