Ir para conteúdo
Fórum Script Brasil
  • 0

Exportar de XML para txt


João Paulo Taraciuk

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0
Olá pessoal, preciso de uma ajudinha para exportar os dados de arquivos .xml (NFe) para .txt, separando os campos, mas eu nunca trabalhei com xml em Delphi.

Haveria a possibilidade de exportar os dados para um txt ?

Sempre há. ;)

Por acaso, junto com o *.xml, você teria o arquivo *.xtr (Transformation File)? Se sim, poderia usar os componentes TXMLTransformProvider + TClientDataset (paleta Data Access) e com este último, acessar os dados como um dataset qualquer e assim facilmente exportar para *.txt (já tem tópicos sobre isto aqui no forum).

Caso não possua o arquivo *.xtr, você pode gerar um a partir do seu arquivo *.xml e utilizá-lo posteriormente. O Delphi fornece uma ferramenta que possibilita isto, trata-se do XML Mapper.

Para não me alongar aqui, eu pesquisei um pouco e encontrei um bom artigo que explica como trabalhar com xml do modo que citei: Manipulando um arquivo XML através de um ClientDataSet

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Micheus

Deu certo a sua dica, consegui abrir o arquivo .xml, apesar de ele ter vindo sem o .xtr, segui os passos do link que voce passou e deu certo.

Porém, para abrir o arquivo pelo XML Mapper, tive que ir corrigindo os campos, tinha algumas tags do xml que estavam na quebra de linha, assim

</retir=

ada>

aí dava erro nessas linhas, voce tem alguma idéia de como eu poderia fazer isso automaticamente pelo Delphi, sem precisar abrir o arquivo e editá-lo manualmente ?

Gostaria de saber também como eu poderia fazer para abrir mais de um arquivo em sequencia para criar o .xtr,

e depois de criado mais de um .xtr, como eu poderia fazer para ler os mesmos em sequencia? será que se eu colocar mais um ClientDataSet e fazer assim: Listo o nome dos arquivos em um TMemo, jogo o primeiro para o XMLTransformProvider, e ativo o ClientDataSet1, aí jogo os dados do ClientDataSet1 para o outro CDS ,e pulo para a outra linha do TMemo, assim por diante, poderia ser assim ?

Obrigado pela atenção.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...