Amigo, isso se faz com desserialização. Duas ou três linhas de código e lê tudo de uma vez.
9 หลายเดือนก่อน
Muito obrigado pelo seu comentário! Sim, você poderia fazer com desserialização. Se todas as notas fiscais tivessem as mesmas tags você poderia fazer uma classe para servir de apoio para desserialização, porém, isto não ocorre. Poderia fazer a classe para desserialização com base no arquivo XSD e usá-la para desserialização (seria a solução mais técnica). Sucesso! Participe: 𝗖𝗮𝗻𝗮𝗹 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺: t.me/programacaoplena 𝗚𝗿𝘂𝗽𝗼 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺: t.me/+WwJdqWUazmRmYmMx 𝗖𝗮𝗻𝗮𝗹 𝗧𝗶𝗸𝗧𝗼𝗸: tiktok.com/@programacaoplena Abraço!
@NFe, é um modelo pronto. Todas elas têm sim os mesmos campos. Mesmo nem todos sendo usados sempre, o que não impede serialização/desserialização. Você encontra os modelos XSD no site da SEFAZ. Esses modelos XSD podem ser convertidos diretamente em classes para VB e C# usando a ferramenta XSD incluída em praticamente todas as versões de Framework. As tags estando ou não no XML não faz diferença, desde que a classe contemple essa tag, o processo ocorre normalmente. O que não pode ocorrer, é uma tag estar no XML e não na classe, nesse caso, o dado não vai constar. Daí que entra o modelo XSD no site da SEFAZ. Neles, todas as tags(propriedades) possíveis estão contempladas.
Aqui tem um vídeo mostrando o processo: th-cam.com/video/QHJTdebvNPQ/w-d-xo.html
9 หลายเดือนก่อน
Legal, este vídeo está criando as classes da NFe a partir do XSD, o que vai gerar dezenas de classes devido a complexidade do XML. Depois disso terá que fazer os método de desserialização do XML e somente depois disso é que vc realmente vai ler o conteúdo das classes desserializadas. A classe XmlReader tem como propósito evitar a desserialização, acessando diretamente os nós do XML. Qual delas escolher? Isto depende do seu projeto, ou seja, do problema a ser resolvido.
Professor, só falta uma aula sobre ler várias notas e interar sobre elas em uma listview. Seria uma aula bacana, usando listas ou matrizes. Ou seja, uma lista de notas dentro de uma list view. Seria bacana!
ปีที่แล้ว +1
Obrigado pelo comentário Eng. Wandeson! Boa sugestão, anotei aqui, na sequência vou fazer este vídeo! Sucesso! Participe: 𝗖𝗮𝗻𝗮𝗹 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺: t.me/programacaoplena 𝗚𝗿𝘂𝗽𝗼 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺: t.me/+WwJdqWUazmRmYmMx Abraço!
Professor tenho mas uma duvida, e se um pasta tem mais de uma nota fiscal, como faço para puxar a nota aleatória, sem ser a que esta nesse codigo- var arquivo = @"C:\Dados ovatec fe(2).xml, e tipo se tiver nfe(3) ou nfe(4) sem direcionar o caminho??
Professor, parabens pelo video e pela excelente explicação. Quando fui fazer apenas o total da nota nao foi preenchido, onde será que errei?
2 ปีที่แล้ว
Obrigado pelo seu comentário Domingos! Precisava ver o código. Participe: 𝗖𝗮𝗻𝗮𝗹 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺: t.me/programacaoplena 𝗚𝗿𝘂𝗽𝗼 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺: t.me/+WwJdqWUazmRmYmMx Abraço!
Bom dia Professor gostei muito do seu video gostaria de saber se tem como importar arquivo do tipo .fpl em c# e como eu faria isso
2 ปีที่แล้ว
Bom dia Luciano! A princípio o C# pode abrir qualquer tipo de arquivo, porém você precisa conhecer a estrutura (maneira como os dados são organizados) do arquivo para interpretar os dados contidos nele. Veja este vídeo: th-cam.com/video/NtJXTqxhVpc/w-d-xo.html Cuidado, determinados comandos podem danificar arquivos, então tire uma cópia de segurança antes. Abraço!
Olá José Candido! Você tem que localizar a tag if (meuXml.NodeType == XmlNodeType.Element && meuXml.Name == "imposto") do mesmo modo que localizamos a tag . Se não conseguir me avisa que vamos fazer um vídeo. Abraço!
ola mestre fiz um teste aqui e achei 2 problemas, no xml da nfe por exemplo o campo com mesmo nome tipo xNome, aparece para emitente,destinatario,transportadora. 45345345 sdfsdfds 99999999000191 NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL
Rua Tiradentes 56 . Maragogipe 2920601 Maragogipe BA 12345678 1058 BRASIL
1 130415376 email@hotmail.com 3
00000 xxxx quando faço assim ele me traz o nome da transportadora, necessito pegar o nome do destinatario, if (wmkXml.NodeType == XmlNodeType.Element && wmkXml.Name == "xNome") { lblNome.Text = wmkXml.ReadElementString(); } e dentro de tem o endereco que esta dentro da tag que fica dentro de dest, como pegar ?
3 ปีที่แล้ว
Olá Walney moreira klein ! Você só pode ler a TAG diretamente quando o nome dela for exclusivo no XML, do contrário você primeiro precisa saber o nome do elemento anterior e depois ler a TAG desejada. Lembra que você está percorrendo TAG a TAG, assim se duas ou mais possuirem o mesmo nome você vai obter o conteúdo somente da última. Isto ocorre com a TAG do exemplo. Tenta aí, se não conseguir avisa que eu faço um vídeo. Abraço!
professor, fiz um teste agora, se fizer assim, acha os 12 nItem corretos, if(wmkXml.NodeType==XmlNodeType.Element && wmkXml.Name == "det") { w_item = wmkXml.GetAttribute("nItem"); mais dentro dele não consigo pegar nenhum produto, ele nao acha, usei o debug e esta tudo sem dados, o que pode ser ? if (wmkXml.NodeType == XmlNodeType.Element && wmkXml.Name == "cProd") { w_cProd = wmkXml.ReadElementString(); } Não acha os dados de cProd, os que estao por fora, funciona if (wmkXml.NodeType == XmlNodeType.Element && wmkXml.Name == "natOp") { lblnatOp.Text = wmkXml.ReadElementString(); }
3 ปีที่แล้ว
Olá Walney moreira klein! Não sei como realmente está escrito teu código. O Primeiro if está abrindo uma chave e não está fechando, por isto não consigo analisar. Se você colocou: if (wmkXml.NodeType == XmlNodeType.Element && wmkXml.Name == "cProd") if (wmkXml.NodeType == XmlNodeType.Element && wmkXml.Name == "natOp") dentro do primeiro if não vai dar certo. Veja no exemplo do vídeo que estes dois ifs não estão aninhados no if do if(wmkXml.NodeType==XmlNodeType.Element && wmkXml.Name == "det"). Abraço!
Obrigado professor, o erro era o listview estava fora da ultima chave do vProd, agora foi, copiei a tela para tu ve, ibb.co/gyB5BS0, espero aprender mais c#, obrigado
muito bom, estou aprendeno c#, como me ajudou, gostaria tambem aprender ler os xml padrao do MusicXML, usei o PureRef para salvar as telas e poder estudar, muito obrigado
3 ปีที่แล้ว
Olá Walney moreira klein! Todo XML é lido da mesma maneira, o que você precisa é saber como é a estrutura do MusicXML para enteder seus dados então ler as TAGs que você deseja. Neste exemplo: Music A TAG contém o nome da partitura (musica). Você precisa conhecer os elementos do XML que você está manipulando. Abraço!
Ótimo. Amigo se possivel você poderia disponilizar os códigos no GitHub ou no dropBox, ajudaria muito.
4 ปีที่แล้ว
Olá Pablo Gabriel ! No futuro vamos ter um site com os códigos fontes, por ora vamos colocar apenas alguns trechos de códigos de alguns vídeos no Dropbox.
@ E como anda esse projeto do site ai? Continua no papel? Precisamos dos códigos, seja no site ou github só preciso dar um Ctrl + C nele, seu conteúdo me parece ser bom (primeiro vídeo que estou vendo, já bati o olho na thumbnail de outro vídeo seu ali que me interessou - Gerar QR Code já vou nele também) acredito que seu conteúdo terá mais visibilidade se puder ser compartilhado. Obrigado pelo vídeo!
Por algum motivo quando chega para fazer a leitura da tag nNF ele esta identificando que é um tipo de EndElement, alguem pegou esse problema, mesmo baixando a nota usada no video. A parte do meu codigo que faz essa leitura esta dessa forma: while (meuXML.Read()) { // CABEÇALHO if (meuXML.NodeType == XmlNodeType.Element && meuXML.Name == "natOp") { txt_natureza.Text = meuXML.ReadElementString(); } if (meuXML.NodeType == XmlNodeType.Element && meuXML.Name == "nNF") { txt_numero.Text = meuXML.ReadElementString(); } if (meuXML.NodeType == XmlNodeType.Element && meuXML.Name == "serie") { txt_serie.Text = meuXML.ReadElementString(); } if (meuXML.NodeType == XmlNodeType.Element && meuXML.Name == "dhEmi") { txt_data.Text = meuXML.ReadElementString(); } } Estou usando textbox pois preciso dar a opção para o usuario conseguir digitar informações manualmente
10 หลายเดือนก่อน
Vc está digitando o nome da tag no textbox? Se tiver terá que digitar o nome da tag considerando maiúsculas e minúsculas ou converter tudo para minúsculas.
@ Não estou, os demais funcionam certinho somente o numero da nota que nao, na depuração quando chega na tag nNF na comparação se é um Elemant esta retornando false e com isso ele nao entra pois esta retornando que é do tipo EndElement.
Consegui resolver tive que mudar do VS19 para o 22 e resolveu, não sei o porque, com exatamente o mesmo código no 22 foi. Muito obrigado, adoro seus tutoriais. @ProgramacaoPlena
Amigo, isso se faz com desserialização. Duas ou três linhas de código e lê tudo de uma vez.
Muito obrigado pelo seu comentário!
Sim, você poderia fazer com desserialização. Se todas as notas fiscais tivessem as mesmas tags você poderia fazer uma classe para servir de apoio para desserialização, porém, isto não ocorre. Poderia fazer a classe para desserialização com base no arquivo XSD e usá-la para desserialização (seria a solução mais técnica).
Sucesso!
Participe:
𝗖𝗮𝗻𝗮𝗹 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/programacaoplena
𝗚𝗿𝘂𝗽𝗼 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/+WwJdqWUazmRmYmMx
𝗖𝗮𝗻𝗮𝗹 𝗧𝗶𝗸𝗧𝗼𝗸:
tiktok.com/@programacaoplena
Abraço!
@NFe, é um modelo pronto. Todas elas têm sim os mesmos campos. Mesmo nem todos sendo usados sempre, o que não impede serialização/desserialização. Você encontra os modelos XSD no site da SEFAZ. Esses modelos XSD podem ser convertidos diretamente em classes para VB e C# usando a ferramenta XSD incluída em praticamente todas as versões de Framework. As tags estando ou não no XML não faz diferença, desde que a classe contemple essa tag, o processo ocorre normalmente. O que não pode ocorrer, é uma tag estar no XML e não na classe, nesse caso, o dado não vai constar. Daí que entra o modelo XSD no site da SEFAZ. Neles, todas as tags(propriedades) possíveis estão contempladas.
Se quiser, posso baixar os modelos lá e criar as classes pra você. Coloco em algum lugar pra baixar, mas é bem simples de fazer.
Aqui tem um vídeo mostrando o processo: th-cam.com/video/QHJTdebvNPQ/w-d-xo.html
Legal, este vídeo está criando as classes da NFe a partir do XSD, o que vai gerar dezenas de classes devido a complexidade do XML. Depois disso terá que fazer os método de desserialização do XML e somente depois disso é que vc realmente vai ler o conteúdo das classes desserializadas.
A classe XmlReader tem como propósito evitar a desserialização, acessando diretamente os nós do XML.
Qual delas escolher? Isto depende do seu projeto, ou seja, do problema a ser resolvido.
Parabéns cara, você é nota 10.
Muito obrigado pelo seu comentário Soft Fiscal PB!
Sucesso!
Participe:
𝗖𝗮𝗻𝗮𝗹 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/programacaoplena
𝗚𝗿𝘂𝗽𝗼 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/+WwJdqWUazmRmYmMx
Abraço!
Professor, só falta uma aula sobre ler várias notas e interar sobre elas em uma listview. Seria uma aula bacana, usando listas ou matrizes. Ou seja, uma lista de notas dentro de uma list view. Seria bacana!
Obrigado pelo comentário Eng. Wandeson!
Boa sugestão, anotei aqui, na sequência vou fazer este vídeo!
Sucesso!
Participe:
𝗖𝗮𝗻𝗮𝗹 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/programacaoplena
𝗚𝗿𝘂𝗽𝗼 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/+WwJdqWUazmRmYmMx
Abraço!
Obrigado, me ajudou muito, queria saber se é possível usar openfiledialog para abrir o arquivo ?
Obrigado pelo comentário Jaapeeis!
É possível abrir com openfiledialog :
th-cam.com/video/fxJrOwvjitI/w-d-xo.html
Sucesso!
Participe:
𝗖𝗮𝗻𝗮𝗹 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/programacaoplena
𝗚𝗿𝘂𝗽𝗼 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/+WwJdqWUazmRmYmMx
Abraço!
Muito bom. Estava atrás de algo assim há muito tempo. Muito obrigado!!!
Por nada chandelima!
Fico feliz que nosso conteúdo tenha sido útil para você!
Obrigado pelo apoio!
Professor tenho mas uma duvida, e se um pasta tem mais de uma nota fiscal, como faço para puxar a nota aleatória, sem ser a que esta nesse codigo- var arquivo = @"C:\Dados
ovatec
fe(2).xml, e tipo se tiver nfe(3) ou nfe(4) sem direcionar o caminho??
Outra pergunta tambem e se tem video ensinando a dar entrada na nota para vincular os produtos em estoque?
Olá Gabriel!
Veja este vídeo:
th-cam.com/video/fxJrOwvjitI/w-d-xo.html
Sucesso!
Abraço!
Não tem nenhum vídeo com este tema!
Sucesso!
Professor, parabens pelo video e pela excelente explicação. Quando fui fazer apenas o total da nota nao foi preenchido, onde será que errei?
Obrigado pelo seu comentário Domingos!
Precisava ver o código.
Participe:
𝗖𝗮𝗻𝗮𝗹 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/programacaoplena
𝗚𝗿𝘂𝗽𝗼 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/+WwJdqWUazmRmYmMx
Abraço!
@ Bom dia, encontrei o que estava fazendo de errado, agora ao invés de trazer para um listview, daria pra trazer para um datagrid?
Consegui passar para Grid, obrigado.
@@domingosalves4314 Parabéns!
Desistir jamais!
@ Para fazer o envio ao Sefaz , tipo NFCe oo NFe vc tem algum material tambem?
Professor da para abrir qualquer arquivo XML com esse codigo? Eles seguem um padrao?
Sim, abre qualquer XML!
Sucesso!
Abraço!
Obrigado professor!!
Disponha Cledson Cedro Teixeira!
Obrigado pelo comentário!
Abraço!
Muito bom
Muito obrigado pelo seu comentário Robson!
Sucesso!
Participe:
𝗖𝗮𝗻𝗮𝗹 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/programacaoplena
𝗚𝗿𝘂𝗽𝗼 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/+WwJdqWUazmRmYmMx
𝗖𝗮𝗻𝗮𝗹 𝗧𝗶𝗸𝗧𝗼𝗸:
tiktok.com/@programacaoplena
Abraço!
Eu estive aqui
Obrigado pela visita e pelo comentário Lucas!
Sucesso!
Participe:
𝗖𝗮𝗻𝗮𝗹 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/programacaoplena
𝗚𝗿𝘂𝗽𝗼 𝗱𝗼 𝗧𝗲𝗹𝗲𝗴𝗿𝗮𝗺:
t.me/+WwJdqWUazmRmYmMx
Abraço!
Bom dia Professor gostei muito do seu video gostaria de saber se tem como importar arquivo do tipo .fpl em c# e como eu faria isso
Bom dia Luciano!
A princípio o C# pode abrir qualquer tipo de arquivo, porém você precisa conhecer a estrutura (maneira como os dados são organizados) do arquivo para interpretar os dados contidos nele.
Veja este vídeo: th-cam.com/video/NtJXTqxhVpc/w-d-xo.html
Cuidado, determinados comandos podem danificar arquivos, então tire uma cópia de segurança antes.
Abraço!
@ boa tarde muito obrigado professor pela ajuda
Boa noite, Como pego o icms/cst
Olá José Candido!
Você tem que localizar a tag
if (meuXml.NodeType == XmlNodeType.Element && meuXml.Name == "imposto")
do mesmo modo que localizamos a tag .
Se não conseguir me avisa que vamos fazer um vídeo.
Abraço!
@ vou testar mais tarde prof
ola mestre fiz um teste aqui e achei 2 problemas, no xml da nfe por exemplo o campo com mesmo nome tipo xNome, aparece para emitente,destinatario,transportadora.
45345345
sdfsdfds
99999999000191
NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL
Rua Tiradentes
56
.
Maragogipe
2920601
Maragogipe
BA
12345678
1058
BRASIL
1
130415376
email@hotmail.com
3
00000
xxxx
quando faço assim ele me traz o nome da transportadora, necessito pegar o nome do destinatario,
if (wmkXml.NodeType == XmlNodeType.Element && wmkXml.Name == "xNome")
{
lblNome.Text = wmkXml.ReadElementString();
}
e dentro de tem o endereco que esta dentro da tag que fica dentro de dest, como pegar ?
Olá Walney moreira klein !
Você só pode ler a TAG diretamente quando o nome dela for exclusivo no XML, do contrário você primeiro precisa saber o nome do elemento anterior e depois ler a TAG desejada. Lembra que você está percorrendo TAG a TAG, assim se duas ou mais possuirem o mesmo nome você vai obter o conteúdo somente da última. Isto ocorre com a TAG do exemplo.
Tenta aí, se não conseguir avisa que eu faço um vídeo.
Abraço!
professor, fiz um teste agora, se fizer assim, acha os 12 nItem corretos,
if(wmkXml.NodeType==XmlNodeType.Element && wmkXml.Name == "det")
{
w_item = wmkXml.GetAttribute("nItem");
mais dentro dele não consigo pegar nenhum produto, ele nao acha, usei o debug e esta tudo sem dados, o que pode ser ?
if (wmkXml.NodeType == XmlNodeType.Element && wmkXml.Name == "cProd")
{
w_cProd = wmkXml.ReadElementString();
}
Não acha os dados de cProd, os que estao por fora, funciona
if (wmkXml.NodeType == XmlNodeType.Element && wmkXml.Name == "natOp")
{
lblnatOp.Text = wmkXml.ReadElementString();
}
Olá Walney moreira klein! Não sei como realmente está escrito teu código. O Primeiro if está abrindo uma chave e não está fechando, por isto não consigo analisar. Se você colocou:
if (wmkXml.NodeType == XmlNodeType.Element && wmkXml.Name == "cProd")
if (wmkXml.NodeType == XmlNodeType.Element && wmkXml.Name == "natOp")
dentro do primeiro if não vai dar certo. Veja no exemplo do vídeo que estes dois ifs não estão aninhados no if do if(wmkXml.NodeType==XmlNodeType.Element && wmkXml.Name == "det").
Abraço!
Obrigado professor, o erro era o listview estava fora da ultima chave do vProd, agora foi, copiei a tela para tu ve, ibb.co/gyB5BS0, espero aprender mais c#, obrigado
show
Valeu o comentário Matheus!
Abraço!
Olá, boa noite! Ótima aula como sempre, gostaria de importar também a chave (ID) da XML como seria? exemplo : - nesta linha capturar o ID.
Boa tarde Cláudio!
Veja este vídeo:
th-cam.com/video/aFz5u1Et_kU/w-d-xo.html
Abraço!
muito bom, estou aprendeno c#, como me ajudou, gostaria tambem aprender ler os xml padrao do MusicXML, usei o PureRef para salvar as telas e poder estudar, muito obrigado
Olá Walney moreira klein!
Todo XML é lido da mesma maneira, o que você precisa é saber como é a estrutura do MusicXML para enteder seus dados então ler as TAGs que você deseja.
Neste exemplo:
Music
A TAG contém o nome da partitura (musica).
Você precisa conhecer os elementos do XML que você está manipulando.
Abraço!
obrigado estou adorando seus videos, obrigado
Ótimo. Amigo se possivel você poderia disponilizar os códigos no GitHub ou no dropBox, ajudaria muito.
Olá Pablo Gabriel !
No futuro vamos ter um site com os códigos fontes, por ora vamos colocar apenas alguns trechos de códigos de alguns vídeos no Dropbox.
@ E como anda esse projeto do site ai? Continua no papel? Precisamos dos códigos, seja no site ou github só preciso dar um Ctrl + C nele, seu conteúdo me parece ser bom (primeiro vídeo que estou vendo, já bati o olho na thumbnail de outro vídeo seu ali que me interessou - Gerar QR Code já vou nele também) acredito que seu conteúdo terá mais visibilidade se puder ser compartilhado. Obrigado pelo vídeo!
Bom dia professor! nao consegui fazer, quando executo, a listview fica doida, aparece itens repetidas vezes e muitas linhas em branco.
if (meuxml.NodeType == XmlNodeType.Element && meuxml.Name == "det")
{
ordenItem = meuxml.GetAttribute("nItem");
cProd = "";//ordem do item
//var eanItem =""; //codigo de barras do item //cEAN
xProd = ""; //descricao
qCom = ""; //quantidade
vUnCom = "";//custo unitario
vprod = "";
//var cst_icms = "";
//tributos
}
else if (meuxml.NodeType == XmlNodeType.Element && meuxml.Name == "total")
{
fimItens = true;
}
if (!fimItens)
{
if (meuxml.NodeType == XmlNodeType.Element && meuxml.Name == "cProd") cProd = meuxml.ReadElementString();
if (meuxml.NodeType == XmlNodeType.Element && meuxml.Name == "xProd") xProd = meuxml.ReadElementString();
if (meuxml.NodeType == XmlNodeType.Element && meuxml.Name == "qCom") qCom = meuxml.ReadElementString();
if (meuxml.NodeType == XmlNodeType.Element && meuxml.Name == "vUnCom") vUnCom = meuxml.ReadElementString();
if (meuxml.NodeType == XmlNodeType.Element && meuxml.Name == "vprod") vprod = meuxml.ReadElementString();
{
lstProdutosNota.Items.Add(new ListViewItem(new[] {ordenItem, cProd, xProd, qCom, vUnCom, vprod}));
}
}
Olá js computadores!
Vou fazer um vídeo.
Abraço!
@ Abraço prof, muito obrigado pela atenção
@@josecandidorosasilveira4296 por nada!
Chegou a ver o vídeo?
th-cam.com/video/OcJlyrImqLw/w-d-xo.html
Por algum motivo quando chega para fazer a leitura da tag nNF ele esta identificando que é um tipo de EndElement, alguem pegou esse problema, mesmo baixando a nota usada no video.
A parte do meu codigo que faz essa leitura esta dessa forma:
while (meuXML.Read())
{
// CABEÇALHO
if (meuXML.NodeType == XmlNodeType.Element && meuXML.Name == "natOp")
{
txt_natureza.Text = meuXML.ReadElementString();
}
if (meuXML.NodeType == XmlNodeType.Element && meuXML.Name == "nNF")
{
txt_numero.Text = meuXML.ReadElementString();
}
if (meuXML.NodeType == XmlNodeType.Element && meuXML.Name == "serie")
{
txt_serie.Text = meuXML.ReadElementString();
}
if (meuXML.NodeType == XmlNodeType.Element && meuXML.Name == "dhEmi")
{
txt_data.Text = meuXML.ReadElementString();
}
}
Estou usando textbox pois preciso dar a opção para o usuario conseguir digitar informações manualmente
Vc está digitando o nome da tag no textbox? Se tiver terá que digitar o nome da tag considerando maiúsculas e minúsculas ou converter tudo para minúsculas.
@ Não estou, os demais funcionam certinho somente o numero da nota que nao, na depuração quando chega na tag nNF na comparação se é um Elemant esta retornando false e com isso ele nao entra pois esta retornando que é do tipo EndElement.
Consegui resolver tive que mudar do VS19 para o 22 e resolveu, não sei o porque, com exatamente o mesmo código no 22 foi.
Muito obrigado, adoro seus tutoriais. @ProgramacaoPlena