Olá bom dia, estou novamente recorrendo aos meus superiores para uma ajuda muito importante.
Desejo fazer a leitura de um xml e colocar os dados em um DBF, tem como fazer isso ou é impossível.
Já tentei os exemplos aqui do fórum como o lerdanfe, mas não consegui porque ocorreu erros como
a falta de varias funções. se alguem conseguir me ajudar seria de muito agradecimento.
uso clipper 5.3 com blinker 7.00.
Leitura de xml
Moderador: Moderadores
-
querentino
- Usuário Nível 1

- Mensagens: 25
- Registrado em: 28 Jan 2009 19:53
- Localização: Guarulhos - São Paulo
Leitura de xml
A leitura de um arquivo .XML não é díficil mas é altamente dependente de como você vai ter de isolar cada elemento.
O arquivo XML pode ter várias seções que terão de ter tratamento em separado.
Veja o XML da NFE, existem as seções IDE, EMIT, DEST, e outras mais, mas todas dentro da estrutura:
<ide>
....
....
</ide>
<emit>
....
....
</emit>
e assim por diante.
Dentro de cada uma dessas estruturas, existem campos também delimitados por <nome_do_campo> e </nome_do_campo>
Você tem de procurar campo a campo cada um dos valores no arquivo e gravá-los no DBF desejado.
Desenvolva uma função que, caractere a caractere, usando as funções de baixo nível (FOPEN, FREAD, etc.) percorra o arquivo
determinando onde começa um campo e onde ele termina, para então isolar o valor que deve ser gravado.
Outra coisa: precisa usar a LFN.LIB pois os nomes de arquivos XML são longos para o padrão do DOS (8.3).
Tem de usar também os arquivos de "include":
#include "lfnlib.ch"
#include "ftint86.ch"
Como você pode ver não é dificil, mas é complicado, em função do arquivo a ser lido
O arquivo XML pode ter várias seções que terão de ter tratamento em separado.
Veja o XML da NFE, existem as seções IDE, EMIT, DEST, e outras mais, mas todas dentro da estrutura:
<ide>
....
....
</ide>
<emit>
....
....
</emit>
e assim por diante.
Dentro de cada uma dessas estruturas, existem campos também delimitados por <nome_do_campo> e </nome_do_campo>
Você tem de procurar campo a campo cada um dos valores no arquivo e gravá-los no DBF desejado.
Desenvolva uma função que, caractere a caractere, usando as funções de baixo nível (FOPEN, FREAD, etc.) percorra o arquivo
determinando onde começa um campo e onde ele termina, para então isolar o valor que deve ser gravado.
Outra coisa: precisa usar a LFN.LIB pois os nomes de arquivos XML são longos para o padrão do DOS (8.3).
Tem de usar também os arquivos de "include":
#include "lfnlib.ch"
#include "ftint86.ch"
Como você pode ver não é dificil, mas é complicado, em função do arquivo a ser lido
O bom do computador é que ele resolve os problemas, sem nunca levantar nenhum.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
Hoje atuo mais com Clipper 52E, e um pouquinho com XHarbour.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Leitura de xml
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
