Ler XML sem a TAG nNF
Moderador: Moderadores
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Ler XML sem a TAG nNF
Ola!
Alguém já pegou um XML assim ?
Saudações,
Itamar M. Lins Jr.
Alguém já pegou um XML assim ?
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ler XML sem a TAG nNF
Já sim, mas não era de NFE.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- rubens
- Colaborador

- Mensagens: 1520
- Registrado em: 16 Ago 2003 09:05
- Localização: Nova Xavantina - MT
Ler XML sem a TAG nNF
Vixe !!! mais uma verificação então... O estado eu já pego da chave... Vou aproveitar e pegar o número, o cnj também...
Rubens
Rubens
"Eu e minha casa servimos ao Senhor e você
"
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ler XML sem a TAG nNF
Eu já pego tudo que a chave tem disponível.
Mas a tag é obrigatória, se não existir no XML, então o XML é inválido, ou não é de NFE.
Mas a tag é obrigatória, se não existir no XML, então o XML é inválido, ou não é de NFE.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ler XML sem a TAG nNF
Se for assinado, conferir a assinatura.
Também daria pra validar com o schemma, mas isso exige também detectar qual o tipo de XML, qual a versão do XML, até mesmo a data do XML pra comparar com o schemma correto.
A validação é simples, o difícil é justamente decidir qual o conjunto de schemmas, e mantê-los atualizados.
Já faz parte do Windows a rotina de validação
No aplicativo seria algo do tipo: Validar( arquivo, schemma )
Mas como exemplo de schemmas:
Também daria pra validar com o schemma, mas isso exige também detectar qual o tipo de XML, qual a versão do XML, até mesmo a data do XML pra comparar com o schemma correto.
A validação é simples, o difícil é justamente decidir qual o conjunto de schemmas, e mantê-los atualizados.
Já faz parte do Windows a rotina de validação
No aplicativo seria algo do tipo: Validar( arquivo, schemma )
Mas como exemplo de schemmas:
Pasta de d:\cdrom\FONTES\INTEGRA\schemmas
12/02/2018 17:21 <DIR> .
12/02/2018 17:21 <DIR> ..
09/10/2017 10:36 <DIR> Evento_Canc_PL_v1.01
09/10/2017 10:35 <DIR> Evento_CCe_PL_v1.01
09/10/2017 18:21 <DIR> PL_008i2_CFOP_EXTERNO
09/10/2017 10:33 <DIR> PL_009_V4
09/10/2017 10:31 <DIR> PL_CTe_300
18/11/2017 02:50 <DIR> PL_CTe_300_NT2017.002
12/02/2018 17:21 <DIR> PL_CTe_300_NT2017.003
25/05/2017 22:57 <DIR> PL_MDFeDistDFe_100
09/10/2017 18:13 <DIR> PL_MDFe_300_NT022017
02/10/2017 12:40 <DIR> PL_MDFe_300_NT032017
25/05/2017 22:57 <DIR> PL_NFeDistDFe_102
Pasta de d:\cdrom\FONTES\INTEGRA\schemmas\PL_MDFe_300_NT032017
02/10/2017 12:40 <DIR> .
02/10/2017 12:40 <DIR> ..
02/10/2017 12:07 3.629 consMDFeNaoEncTiposBasico_v3.00.xsd
02/10/2017 12:07 571 consMDFeNaoEnc_v3.00.xsd
02/10/2017 12:07 6.271 consReciMDFeTiposBasico_v3.00.xsd
02/10/2017 12:07 597 consReciMDFe_v3.00.xsd
02/10/2017 12:07 4.559 consSitMDFeTiposBasico_v3.00.xsd
02/10/2017 12:07 569 consSitMDFe_v3.00.xsd
02/10/2017 12:07 620 consStatServMDFe_v3.00.xsd
02/10/2017 12:07 4.033 consStatServTiposBasico_v3.00.xsd
02/10/2017 12:07 592 distMDFe_v3.00.xsd
02/10/2017 12:07 711 enviMDFe_v3.00.xsd
02/10/2017 12:07 1.564 evCancMDFe_v3.00.xsd
02/10/2017 12:07 1.967 evEncMDFe_v3.00.xsd
02/10/2017 12:07 8.535 eventoMDFeTiposBasico_v3.00.xsd
02/10/2017 12:07 597 eventoMDFe_v3.00.xsd
02/10/2017 12:07 1.935 evIncCondutorMDFe_v3.00.xsd
02/10/2017 12:07 5.554 leiauteDistMDFe_v3.00.xsd
02/10/2017 12:07 3.958 mdfeConsultaDFeTiposBasico_v3.00.xsd
02/10/2017 12:07 561 mdfeConsultaDFe_v3.00.xsd
02/10/2017 12:07 3.479 mdfeModalAereo_v3.00.xsd
02/10/2017 12:07 10.365 mdfeModalAquaviario_v3.00.xsd
02/10/2017 12:07 5.333 mdfeModalFerroviario_v3.00.xsd
02/10/2017 12:07 24.201 mdfeModalRodoviario_v3.00.xsd
02/10/2017 12:07 81.778 mdfeTiposBasico_v3.00.xsd
02/10/2017 12:07 561 mdfe_v3.00.xsd
02/10/2017 12:07 587 procEventoMDFe_v3.00.xsd
02/10/2017 12:07 899 procMDFe_v3.00.xsd
02/10/2017 12:07 623 retConsMDFeNaoEnc_v1.00.xsd
02/10/2017 12:07 623 retConsMDFeNaoEnc_v3.00.xsd
02/10/2017 12:07 614 retConsReciMDFe_v3.00.xsd
02/10/2017 12:07 622 retConsSitMDFe_v3.00.xsd
02/10/2017 12:07 632 retConsStatServMDFe_v3.00.xsd
02/10/2017 12:07 574 retDistMDFe_v3.00.xsd
02/10/2017 12:07 603 retEnviMDFe_v3.00.xsd
02/10/2017 12:07 605 retEventoMDFe_v3.00.xsd
02/10/2017 12:07 614 retMDFeConsultaDFe_v3.00.xsd
09/10/2017 13:44 1.084 Sample.xml
02/10/2017 12:07 24.217 tiposGeralMDFe_v3.00.xsd
02/10/2017 12:07 3.749 xmldsig-core-schema_v1.01.xsd
38 arquivo(s) 208.586 bytes
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ler XML sem a TAG nNF
É mais complicado do que parece...
Pode ser que saiu um pacote novo, que vale a partir de determinada data.
Não tem a ver com versão de nota fiscal, versão do XML, data do XML, mas sim da data que começar a ser usado.
Como escolher?
Nunca pensei nisso.
No momento da emissão... você vai saber que pacote está usando no aplicativo.
Mas depois disso.... complicou... só se testar contra cada schemma pra ver se algum bate.
Teoricamente... se a assinatura bate, é o XML original que foi assinado.
Pode ser que saiu um pacote novo, que vale a partir de determinada data.
Não tem a ver com versão de nota fiscal, versão do XML, data do XML, mas sim da data que começar a ser usado.
Como escolher?
Nunca pensei nisso.
No momento da emissão... você vai saber que pacote está usando no aplicativo.
Mas depois disso.... complicou... só se testar contra cada schemma pra ver se algum bate.
Teoricamente... se a assinatura bate, é o XML original que foi assinado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ler XML sem a TAG nNF
E complementando:
Por isso eu digo que o projeto é um lixo.
Você tem um XML que nem sabe se é verdadeiro.
Se conferir a chave na Sefaz... vai bater, mas não significa que é válido/verdadeiro.
Se conferir a assinatura... vai bater, mas não significa que é válido/verdadeiro.
Se conferir schemma... vai bater, mas não significa que é válido/verdadeiro.
Talvez... se baixar protocolo + digest value, e conferir digest value + assinatura... neste caso vai ser exatamente igual, mas nem lembro se o digest value é baixado.
No final, guardamos o que PARECE ser o XML oficial, e só isso.
Por isso eu digo que o projeto é um lixo.
Você tem um XML que nem sabe se é verdadeiro.
Se conferir a chave na Sefaz... vai bater, mas não significa que é válido/verdadeiro.
Se conferir a assinatura... vai bater, mas não significa que é válido/verdadeiro.
Se conferir schemma... vai bater, mas não significa que é válido/verdadeiro.
Talvez... se baixar protocolo + digest value, e conferir digest value + assinatura... neste caso vai ser exatamente igual, mas nem lembro se o digest value é baixado.
No final, guardamos o que PARECE ser o XML oficial, e só isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ler XML sem a TAG nNF
Só lembrando....
Nas notas eletrônicas de 2008 nem existia o protocolo.
TODAS seriam consideradas não autorizadas atualmente.
Ou seja.... com o tempo, a nota válida se transforma em inválida.... rs
É do jeito que os políticos gostam... pras falcatruas deles....
FIcam 4 anos, falsificam tudo, e o próximo nem vai poder conferir nada, porque 5 anos depois não tem mais nem na Sefaz....
Nas notas eletrônicas de 2008 nem existia o protocolo.
TODAS seriam consideradas não autorizadas atualmente.
Ou seja.... com o tempo, a nota válida se transforma em inválida.... rs
É do jeito que os políticos gostam... pras falcatruas deles....
FIcam 4 anos, falsificam tudo, e o próximo nem vai poder conferir nada, porque 5 anos depois não tem mais nem na Sefaz....
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
Ler XML sem a TAG nNF
Ola!
Só para constar, é um XML de CTe
Tem os campos iniciais iguais a NF-e, só que no lugar no nNF tem nCT, as outras tags iniciais iguais a uma NFe por isso deu erro... Já corrigir aqui para visar ao cliente.
Saudações,
Itamar M. Lins Jr.
Só para constar, é um XML de CTe
Tem os campos iniciais iguais a NF-e, só que no lugar no nNF tem nCT, as outras tags iniciais iguais a uma NFe por isso deu erro... Já corrigir aqui para visar ao cliente.
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ler XML sem a TAG nNF
A identificação disso faz parte da chave de acesso.Itamar M. Lins Jr. escreveu:Só para constar, é um XML de CTe
NFE = 55
CTE = 57
MDFE = 58
NFCE = 65
CTE-OS = 67
Tenho algo sobre isso na SefazClass pra identificar o tipo de XML, baseado em algumas tags que um tem e outro não.
Identifico NFE por último, porque NFe pode ter dentro dos outros também.
https://github.com/JoseQuintas/sefazcla ... 1642-L1677
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ler XML sem a TAG nNF
Agora que vi... a rotina tá errada, estou usando XmlTag() ao invés de XmlNode() pra pegar o tipo de evento.
Nenhum problema grave. Retorna que é evento, mas a parte de identificar evento não funciona.
Para o uso que faço dela, não devo ter precisado disso e não percebi.
Nenhum problema grave. Retorna que é evento, mas a parte de identificar evento não funciona.
Para o uso que faço dela, não devo ter precisado disso e não percebi.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Ler XML sem a TAG nNF
Pra isso uso XmlToDoc()hazael escreveu:Eu estava fazendo algo bem parecido para organizar os XML dentro de uma pasta, usando a chave e mais alguns campos para confirmar, deixando a NFe por último por ser a mais genérica e ter quase todos campos em comum com os outros (por exemplo com a NFCe)
oDoc := XmlToDoc( "arquivo.xml" )
a partir daí, as informações estão em oDoc.
Por exemplo oDoc:Chave
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/