DESSERIALIZAR NFE
Boa noite!
Gerei a classe NFe através dos schemas xsd no portal da nota fiscal eletrônica. Gerei através do xsd.exe
Utilizo o código abaixo no vb.net:
Porém ao executar ocorre o erro na linha
Erro:
System.InvalidOperationException: 'Erro no documento XML (1, 2).'
InvalidOperationException: não era esperado.
Esta exceção foi gerada originalmente nesta pilha de chamadas:
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTNFe.Read237_NFe()
O que pode estar errado? Tentei anexar a classe aqui, mas ao selecionar o arquivo ele não apareceu.
Gerei a classe NFe através dos schemas xsd no portal da nota fiscal eletrônica. Gerei através do xsd.exe
Utilizo o código abaixo no vb.net:
Dim arquivo As String = "C:\Sistemas\gti_radar\bin\Debug
fe.xml"
Dim ser As XmlSerializer = New XmlSerializer(GetType(TNFe))
Dim textReader As TextReader = CType(New StreamReader(arquivo), TextReader)
Dim reader As XmlTextReader = New XmlTextReader(textReader)
reader.Read()
Dim nota As TNFe = CType(ser.Deserialize(reader), TNFe)
Porém ao executar ocorre o erro na linha
Dim nota As TNFe = CType(ser.Deserialize(reader), TNFe)
Erro:
System.InvalidOperationException: 'Erro no documento XML (1, 2).'
InvalidOperationException: não era esperado.
Esta exceção foi gerada originalmente nesta pilha de chamadas:
Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderTNFe.Read237_NFe()
O que pode estar errado? Tentei anexar a classe aqui, mas ao selecionar o arquivo ele não apareceu.
Vaga lembrança de ter acontecido algo parecido comigo, tenta tirar tudo que for TNfe por Nfe
Alterado, porém sem sucesso... continua o erro.
é algo relacionado com o Namespace, mas não entendo muito bem sobre o assunto.
é algo relacionado com o Namespace, mas não entendo muito bem sobre o assunto.
Pesquisando aqui no Fórum encontrei a solução.
No passado, não conseguia deserealizar o xml baixado pelo site.
Com a ajuda do KERPLUNK, foi criado a classe em anexo.
Tenta com ela.
Dim serializer As New XmlSerializer(GetType(nfeProc))
Dim result As nfeProc = DirectCast(serializer.Deserialize(New XmlTextReader(arqXml)), nfeProc)
Créditos KERPLUNK
Obrigado também ao amigo NILSONTRES
No passado, não conseguia deserealizar o xml baixado pelo site.
Com a ajuda do KERPLUNK, foi criado a classe em anexo.
Tenta com ela.
Dim serializer As New XmlSerializer(GetType(nfeProc))
Dim result As nfeProc = DirectCast(serializer.Deserialize(New XmlTextReader(arqXml)), nfeProc)
Créditos KERPLUNK
Obrigado também ao amigo NILSONTRES
Tópico encerrado , respostas não são mais permitidas