DESSERIALIZANDO - XML - CLASSES
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.
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.
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.
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
Você entende o que esse código faz?
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?
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
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..