GERAR CLASSE CTE
Tente buscar o tipo da instância:
Dim serializar As New XmlSerializer(ctexml.GetType)
Assim deu certo, e ai caiu nos nullexception que você havia dito. Fazendo as declarações deu certo. Mas algumas é chato de achar não ?, tipo a [Ô]TEndeEmi[Ô] , ja não da sequência ao tcteinfcte
Dim ctexml As New TCTe()
ctexml.infCte = New TCTeInfCte()
ctexml.infCte.ide = New TCTeInfCteIde()
ctexml.infCte.emit = New TCTeInfCteEmit()
ctexml.infCte.emit.enderEmit = New TEndeEmi()
ctexml.infCte.ide.cCT = [Ô]1[Ô]
ctexml.infCte.ide.CFOP = [Ô]5252[Ô]
ctexml.infCte.versao = [Ô]1.0[Ô]
ctexml.infCte.emit.CNPJ = [Ô]12563578965412[Ô]
ctexml.infCte.emit.IE = [Ô]0000000000[Ô]
ctexml.infCte.emit.enderEmit.CEP = [Ô]13660000[Ô]
[ô]Dim serializar As New XmlSerializer(TypeOf (TCTe) )
[ô]Dim serializar As New XmlSerializer(TCTe.GetType)
Dim serializar As New XmlSerializer(ctexml.GetType)
Dim novoxml As New FileStream([Ô]c:\\ctenovo.xml[Ô], FileMode.CreateNew)
serializar.Serialize(novoxml, ctexml)
Agora, fiquei em dúvida do seguinte, haja declarações não ?, sera que isso compensa ?, acho que estou acostumado a fazer do outro modo, que achei trabalhoso. Uma outra dúvida, caso surjam novas tags em versão futura, seria só gerar novamente a classe e substituir a atual, isso não causa nenhum dano ao projeto ?
Dim ctexml As New TCTe()
ctexml.infCte = New TCTeInfCte()
ctexml.infCte.ide = New TCTeInfCteIde()
ctexml.infCte.emit = New TCTeInfCteEmit()
ctexml.infCte.emit.enderEmit = New TEndeEmi()
ctexml.infCte.ide.cCT = [Ô]1[Ô]
ctexml.infCte.ide.CFOP = [Ô]5252[Ô]
ctexml.infCte.versao = [Ô]1.0[Ô]
ctexml.infCte.emit.CNPJ = [Ô]12563578965412[Ô]
ctexml.infCte.emit.IE = [Ô]0000000000[Ô]
ctexml.infCte.emit.enderEmit.CEP = [Ô]13660000[Ô]
[ô]Dim serializar As New XmlSerializer(TypeOf (TCTe) )
[ô]Dim serializar As New XmlSerializer(TCTe.GetType)
Dim serializar As New XmlSerializer(ctexml.GetType)
Dim novoxml As New FileStream([Ô]c:\\ctenovo.xml[Ô], FileMode.CreateNew)
serializar.Serialize(novoxml, ctexml)
Agora, fiquei em dúvida do seguinte, haja declarações não ?, sera que isso compensa ?, acho que estou acostumado a fazer do outro modo, que achei trabalhoso. Uma outra dúvida, caso surjam novas tags em versão futura, seria só gerar novamente a classe e substituir a atual, isso não causa nenhum dano ao projeto ?
O tipo à ser instanciado é geralmente sugerido pelo próprio Visual Studio. Basta passar o mouse por cima da propriedade que você vai ver de que tipo é, e é este tipo que você vai usar para instanciar.
Quanto à s suas dúvidas: Caso o layout mude radicalmente, sim você terá que mudar alguma coisa no seu projeto. Mas isso não ocorre com frequência. O mais comum são algumas tags e/ou tipos adicionados e basta gerar novamente o assembly.
Quanto à s suas dúvidas: Caso o layout mude radicalmente, sim você terá que mudar alguma coisa no seu projeto. Mas isso não ocorre com frequência. O mais comum são algumas tags e/ou tipos adicionados e basta gerar novamente o assembly.
Olá Pessoal.
Muito interessante esse tópico!
Kerplunk sei que você já passou tudo pronto, mas queria aprender a gerar a classe para futuras utilizações, estou com dificuldade em dar o comando no prompt do Visual Studio, no meu caso os arquivos estão no meu diretorio [Ô]c:[Ô] como seria o comando para gerar a classe, não estou conseguindo fazer apesar de você já ter colocado o comando necessário.
Meu prompt abre com a seguinte linha:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE>
Desde já agradeço quem puder ajudar.
Muito interessante esse tópico!
Kerplunk sei que você já passou tudo pronto, mas queria aprender a gerar a classe para futuras utilizações, estou com dificuldade em dar o comando no prompt do Visual Studio, no meu caso os arquivos estão no meu diretorio [Ô]c:[Ô] como seria o comando para gerar a classe, não estou conseguindo fazer apesar de você já ter colocado o comando necessário.
Meu prompt abre com a seguinte linha:
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE>
Desde já agradeço quem puder ajudar.
ok, vou dar u trampo aqui, pra tentar abastecer um xml completo...
MRSILVA, você digita XSD e dá enter. Se aparecer a ajuda do XSD, ele está no path(variável de ambiente). Basta ir até a pasta onde seus XSD estão e executar o comando que passei.
Kerplunk obrigado pela ajuda.
Está dando a seguinte mensagem quando do enter.
[ô]XSD[ô] não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.
Desde já agradeço.
Está dando a seguinte mensagem quando do enter.
[ô]XSD[ô] não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.
Desde já agradeço.
Nesse caso, o XSD não está no path. Que versão de Visual Studio você tem? Geralmente, existe um [Ô]Developer Command Prompt[Ô] na mesma pasta do Visual Studio, ele é carregado já modificando a variável PATH, contendo tudo que você precisa para as ferramentas de linha de comando.
Fiz outras tentativas sem sucesso.
Meu visual Studio é 2015 Community.
Desde já agradeço.
Meu visual Studio é 2015 Community.
Desde já agradeço.
O que você tentou?
Tópico encerrado , respostas não são mais permitidas