DESSERIALIZAR NFE

PITERGALDIANO 10/07/2024 21:03:40
#503393
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:

  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.
NILSONTRES 12/07/2024 11:42:28
#503395
Resposta escolhida
Vaga lembrança de ter acontecido algo parecido comigo, tenta tirar tudo que for TNfe por Nfe
PITERGALDIANO 12/07/2024 21:58:19
#503396
Alterado, porém sem sucesso... continua o erro.

é algo relacionado com o Namespace, mas não entendo muito bem sobre o assunto.
PITERGALDIANO 12/07/2024 22:15:21
#503397
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
Tópico encerrado , respostas não são mais permitidas