https://youtu.be/UBGxNb2pO60
Video no Youtube Se Gostou clique aqui para dar joinha
WinDev - Xml - 001/... Criar um Xml
WinDev - Xml - 002/... Ler Xml Aula 1/...
WinDev - Xml - 003/... Ler Xml Aula 2/...
WinDev - Xml - 004/... Ler Xml Aula 3
WinDev - Xml - 005/... XmlRead - Retirar Tag
WinDev - Xml - 006/... Sefaz Gratuito-Ler Xml Cliente/Gravar
WinDev - Xml - 007/... Utf8ToString
WinDev - Xml - 001/... Criar um XmlWinDev - Xml - 002/... Ler Xml Aula 1/...
WinDev - Xml - 003/... Ler Xml Aula 2/...
WinDev - Xml - 004/... Ler Xml Aula 3
Sefaz Gratuito-Ler Xml Cliente/Gravar - WinDev - Xml - 006/...
Tag Retirar - XmlRead - WinDev - Xml - 005/...
WinDev - Xml - 007/... Utf8ToString
Sefaz gratuito - Será o fim em 2017.
Coloque em Seu sistema Importação do Sefaz.
vou Mostrar como Gravar o Arquivo em Xml
Ler Esses arquivos no winDev e gravar
em Seus cadastros
EDT_Diretorio=fSelectDir("", "")
//aqui Estou Selecionando o diretório
s_arquivos_todos is string=fListFile(EDT_Diretorio+"\*.xml")
// Estou Selecionando todos os Xml do Diretorio
// vai ler a string e separar tudo que contiver cr
FOR EACH STRING s_arquivo_individual OF s_arquivos_todos SEPARATED BY CR
s_nome_arquivo is string=fExtractPath(s_arquivo_individual,fFileName+fExtension) //Percorrer string e pegar os nomes dos arquivos
s_arquivo_xml is string=fLoadText(EDT_Diretorio+"\"+s_nome_arquivo) //ler o arquivo e jogar na variavel s_arquivo_xml
XMLDocument("XML",s_arquivo_xml) //abrir Xml
_cnpj_cpf is string=XMLRead("XML","/sistema/dest/CNPJ") // Lendo Cnpj
IF _cnpj_cpf="" THEN // Se cnpj_cpf for branco
_cnpj_cpf=XMLRead("XML","/sistema/dest/CPF") // Lendo Cpf
END
HReadSeekFirst(cliente,cnpj_cpf,_cnpj_cpf) // Lendo Cliente,para ver se existe cnpj/cpf
IF HFound(cliente) THEN // Se cliente Existe
ELSE // Se nao existe
//HReset(cliente) // limpar Memoria
cliente.cnpj_cpf=_cnpj_cpf
cliente.razao_social_nome=XMLRead("XML","/sistema/dest/xNome") //pegando razao social
cliente.endereco_rua=XMLRead("XML","/sistema/dest/enderDest/xLgr")
// ... gravar os outros campos
// HAdd(cliente) // gravando o cliente
END
XMLClose("XML") //Fechando Xml
Trace(s_nome_arquivo) //mostra na tela o que esta ocorrendo
END
TraceEnd()
Info("Finalizado")
//<?xml version="1.0"?>
//<sistema xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.02">
//<dest>
//<CPF>00030147034</CPF>
//<xNome>Henrique Orlandi Junior</xNome>
//<enderDest>
//<xLgr>RS 401, KM 32</xLgr>
//<nro>S/N</nro>
//<xBairro>Distrito Fernando Kroeff</xBairro>
//<cMun>4305355</cMun>
//<xMun>Charqueadas</xMun>
//<UF>RS</UF>
//<CEP>96745000</CEP>
//<cPais>1058</cPais>
//<xPais>BRASIL</xPais>
//<fone>05199660089</fone>
//</enderDest>
//</dest>
//</sistema>
//
//<CNPJ>00077074000126</CNPJ>