DESSERIALIZANDO - XML - CLASSES

JANDSONSISTENS 06/03/2017 20:13:19
#472229
Boa noite brother, Boa Noite Kerblunkboy,
acompanho sempre suas video aulas, consegui Desserializar um arquivo XML graças a sua video aula, exelente, Parabéns.

estou precisando de umas dicas. por exemplo.
eu tenho uns arquivos XML aqui da empresa,
fiz certinhos a desserialização. os XML q tenho aqui para teste, consegui importar todos, Maravilha.
porem, percebi q tenho outros tipos de XML que não importa.
da o seguinte erro, no print abaixo...


   Dim ser As New XmlSerializer(GetType(Ler_XML_NFe.nfeProc))
Dim textReader As TextReader = DirectCast(New StreamReader(txtArquivo.Text), TextReader)
Dim reader As New XmlTextReader(textReader)
reader.Read()


Dim nota As Ler_XML_NFe.nfeProc = DirectCast(ser.Deserialize(reader), Ler_XML_NFe.nfeProc)
.

qnd debug, que chego na minha variavel nota. ele não passa daqui Dim nota As Ler_XML_NFe.nfeProc = DirectCast(ser.Deserialize(reader), Ler_XML_NFe.nfeProc)


na minha classe que montei, consigo importar varios xml,

tem como juntar as classes ? pq eu criei outro projeto só com esse XML q esta dando erro. pq não tenho as classes dele, nesse outro projeto contendo apenas as classes desse XML funciona perfeito. porem no meu Projeto principal que ja tenho a classe completa. da o erro. ja comparei linha por linha para ver qual classes que não tem no principal mais nada. kkkkk extranho ne?

como vc faz para juntar cada classe de cada XML. pq são varios tipos de XML, por seguimento.
queria saber como vc faz para juntar, igual vc mostra no Video. só copiar e Colar Special. q forma todas as classes do XML.


KERPLUNK 06/03/2017 22:51:05
#472231
Cara, não sei se entendi, vamos ver: Você tem procedimento de geração de NFe em mais de um projeto, é isso?
JANDSONSISTENS 07/03/2017 07:39:02
#472239
Citação:

:
Cara, não sei se entendi, vamos ver: Você tem procedimento de geração de NFe em mais de um projeto, é isso?



Bom dia Kerplunk, deixa te explicar direito.
então eu fiz a Desserialização conforme o video certo? daê os XML q eu tinha de exemplo eu fiz o procedimento de criar as classes ate ai tudo certinho.
porem recebi um novo XML de um cliente, que não tem na classe de Desserialização.
porem, minha duvida seria, Como fazer para juntar uma nova classe. porque se eu olhar a minha classe com as novas classes de um XML q não importando, Vejo que é muito complicado saber, qual esta faltando. para juntar na Desserialização.
tipo. Meu projeto X esta funcionando show, daê um novo XML não esta importando, criei uma nova tela, conforme o Video, no Cole Special. que cria automaticamente todas as classe do XML.

ai queria saber alguma forma, para juntar no meu projeto essas novas classes.
Tipo,
Projeto X, tenho 1 XML Desserializado, contendo todas as classes desse XML.

Projeto Y, tenho 1 XML Desserializado, contendo todas as classes desse XML. Diferente do XML do projeto X.

ai tipo, seria juntar os dois deixando apenas em 1 classe.
eu ja olhei, linha por linha, para saber as classes que tem no XML Y, e no XML X. e não consegui juntar os dois.
KERPLUNK 07/03/2017 20:26:57
#472246
Ah, sim, entendi. Isso deve estar ocorrendo porque os modelos XML que você usou, não contemplam campos ou até mesmo classes inteiras de outros arquivos XML. Isso ocorre porque o processo correto, é gerar suas classes pelos esquemas XSD disponibilizados pela receita federal e a ferramenta XSD, instalada juntamente com seu Visual Studio. Coloquei em anexo um arquivo VB.NET contendo as classes geradas dessa forma para o modelo 3.10 da NFe. Não deve ter problemas para desserializar arquivos XML que estejam em conformidade comAh, sim, entendi. Isso deve estar ocorrendo porque os modelos XML que você usou, não contemplam campos ou até mesmo classes inteiras de outros arquivos XML. Isso ocorre porque o processo correto, é gerar suas classes pelos esquemas XSD disponibilizados pela receita federal e a ferramenta XSD, instalada juntamente com seu Visual Studio. Coloquei em anexo um arquivo VB.NET contendo as classes geradas dessa forma para o modelo 3.10 da NFe. Não deve ter problemas para desserializar arquivos XML que estejam em conformidade com essa versão do modelo. essa versão do modelo.
JANDSONSISTENS 07/03/2017 22:02:57
#472248
show de bola, daê kerplunk, tem algum metodo mais facil. de comparar cada XML q eu criar no visual studio as classes,
comparar e deixar toda em um unico projeto.
pq so assim a cada XML novo q surgir, eu ja vou criando no visual studio as classes. e dai vou comparando e adicionado oq esta faltando no projeto.
KERPLUNK 07/03/2017 22:29:37
#472250
Acho que você não entendeu: o XML é uma representação de classes. A NFe é composta de uma série enorme de várias classes. A serialização dessas classes é a transformação de instância(s) dessas classes em arquivos contendo os dados dessas classes e a mesma estrutura. Valores de campos ou mesmo classes de dados não preenchidos, não farão parte da serialização. que é que está dando à você de [Ô]dados incompletos[Ô] e que você tenha que complementar nos seus modelos de classe. O que te passei, contempla todos os dados de todas as classes disponíveis na NFe, por isso, a serialização e desserialização deve ocorrer normalmente para qualquer XML que esteja de acordo com a versão 3.10 disponível no site da receita federal.
JANDSONSISTENS 07/03/2017 22:42:07
#472252
Citação:

:
Acho que você não entendeu: o XML é uma representação de classes. A NFe é composta de uma série enorme de várias classes. A serialização dessas classes é a transformação de instância(s) dessas classes em arquivos contendo os dados dessas classes e a mesma estrutura. Valores de campos ou mesmo classes de dados não preenchidos, não farão parte da serialização. que é que está dando à você de [Ô]dados incompletos[Ô] e que você tenha que complementar nos seus modelos de classe. O que te passei, contempla todos os dados de todas as classes disponíveis na NFe, por isso, a serialização e desserialização deve ocorrer normalmente para qualquer XML que esteja de acordo com a versão 3.10 disponível no site da receita federal.




Ahhh entendi, oq vc me passou, ja corresponde a todas as classes disponiveis da NFe 3.10. :D

eu ate ja referenciei sua classe no meu projeto, porem não estou conseguindo referenciar.

tipo como mostra no seu video.

  Dim ser As New XmlSerializer(GetType(Ler_XML_NFe.nfeProc))
Dim textReader As TextReader = DirectCast(New StreamReader(txtArquivo.Text), TextReader)
Dim reader As New XmlTextReader(textReader)
reader.Read()

Dim nota As Ler_XML_NFe.nfeProc = DirectCast(ser.Deserialize(reader), Ler_XML_NFe.nfeProc)

txt_Numero_NotaFiscal.Text = nota.NFe.infNFe.ide.nNF
KERPLUNK 07/03/2017 22:51:32
#472253
Como diria Jack, o estripador: Vamos por partes.
Você entende o que esse código faz?
JANDSONSISTENS 08/03/2017 07:33:21
#472259
Citação:

:
Como diria Jack, o estripador: Vamos por partes.
Você entende o que esse código faz?



hsuhsushuashas,
entendo, ele armazena todas os dados do XML. qnd faz a desserialização.
porem, não consegui adaptar ao meu codigo conforme seu video.

agora, tava pensando se eu achasse um XML Completaço, eu resolveria tudo. pq eu criaria no VIsual Studio todas as classe no Cole Special.

oq vc me surgere Kerplunk?
NILSONTRES 08/03/2017 10:38:03
#472265
Então, eu aprendi com o KERPLUNK,
Tive esse mesmo problema mas criei as classes que faltavam tudo na unha mesmo, peguei o manual da Nfe e observei as que faltavam e criei, alguma coisa deve ter ficado de fora.
Disponibilizei um arquivo aqui no vbmania com essa classe que criei.
KERPLUNK,
Onde encontrou essa classe, se na época eu tivesse, teria sido mais fácil, Obrigado.
olhando assim por cima, percebi que a unica diferença esta no nome dados as classes, exemplo: TNFeInfNFeTranspTransporta e eu tenho NFeInfNFeTranspTransporta.

Classe que disponibilizei
JANDSONSISTENS 08/03/2017 11:00:12
#472267
Citação:

:
Então, eu aprendi com o KERPLUNK,
Tive esse mesmo problema mas criei as classes que faltavam tudo na unha mesmo, peguei o manual da Nfe e observei as que faltavam e criei, alguma coisa deve ter ficado de fora.
Disponibilizei um arquivo aqui no vbmania com essa classe que criei.
KERPLUNK,
Onde encontrou essa classe, se na época eu tivesse, teria sido mais fácil, Obrigado.
olhando assim por cima, percebi que a unica diferença esta no nome dados as classes, exemplo: TNFeInfNFeTranspTransporta e eu tenho NFeInfNFeTranspTransporta.

Classe que disponibilizei



Boa NilsonTres, eu tbm aprendi com Kerplunk. antes eu tinha feito na unha, poxa mor trampo kkkkkk foda mesmo.
Vou da uma analisada na sua classe ver se tem para esse XML q estou tendo problemas..
Página 1 de 3 [27 registro(s)]
Faça seu login para responder