Ir para conteúdo
Entre para seguir isso  
luisveber

Importar dados XML NFE com Visual Basic

Recommended Posts

Bom dia pessoal,

Estou com uma dúvida, tenho um código que importa os dados de um arquivo xml de uma nota fiscal, porém não estou conseguindo importar a tag "dup" do arquivo xml quando existem mais de uma parcela a ser paga, quando importo para um datagrid eu consigo, porém preciso que estas informações sejam importadas para um textbox assim como as demais informações.

Segue código:

Public Sub PRealizaLeituraXML()
     OpenFileDialog1.ShowDialog()
     Dim diretorio = OpenFileDialog1.FileName

     Dim docXML As New XmlDocument
     docXML.Load(diretorio)

     Dim strRetorno As String = "",
         noPai As XmlElement,
         noFilho As XmlElement,
         noNeto As XmlElement,
         noBisneto As XmlElement,
         noTetra As XmlElement,
         nodelist As XmlNodeList = docXML.DocumentElement.ChildNodes
     If Len(docXML.OuterXml) > 0 Then
         For Each noPai In nodelist 'Le os nós principais da NFe
             If noPai.Name = "NFe" Then
                 For Each noFilho In noPai 'Lê os Nós secundários
                     If noFilho.Name = "infNFe" Then 'Se for o cabecalho da NFe
                         For Each noNeto In noFilho 'Lê as Tags da NFe
                             If noNeto.Name = "ide" Then 'Verifica a identificação da NFe                                
                                 For Each noBisneto In noNeto 'Verifica os valores da NFe
                                     txtData.Text = noNeto.ChildNodes.Item(7).InnerText
                                     txtDocumento.Text = noNeto.ChildNodes.Item(6).InnerText
                                 Next
                             ElseIf noNeto.Name = "emit" Then 'Dados do Emitente da NFe                                
                                 For Each noBisneto In noNeto
                                     txtfornec.Text = noNeto.ChildNodes.Item(1).InnerText
                                     If noBisneto.Name = "enderEmit" Then 'Dados do Endereço do emitente
                                         For Each noTetra In noBisneto
                                         Next
                                     Else
                                     End If
                                 Next
                             ElseIf noNeto.Name = "dest" Then 'Dados do Destinatário                                
                                 For Each noBisneto In noNeto
                                     If noBisneto.Name = "enderDest" Then 'Dados do Endereço do emitente
                                         For Each noTetra In noBisneto
                                         Next
                                     Else
                                     End If
                                 Next
                             ElseIf noNeto.Name = "transp" Then 'Dados da Transportadora
                                 For Each noBisneto In noNeto
                                     If noBisneto.Name = "transporta" Then
                                         For Each noTetra In noBisneto
                                         Next
                                     End If
                                     If noBisneto.Name = "veicTransp" Then
                                         For Each noTetra In noBisneto
                                         Next
                                     End If
                                     If noBisneto.Name = "vol" Then
                                         For Each noTetra In noBisneto
                                         Next
                                     End If
                                 Next
                             ElseIf noNeto.Name = "infAdic" Then 'Dados do Destinatário                                
                                 For Each noBisneto In noNeto
                                     If noBisneto.Name = "obsCont" Then 'Dados do Endereço do emitente
                                         For Each noTetra In noBisneto
                                         Next
                                     Else
                                     End If
                                 Next
                             ElseIf noNeto.Name = "cobr" Then 'Dados do Destinatário                                
                                 For Each noBisneto In noNeto
                                     If noBisneto.Name = "fat" Then 'Dados da fatura
                                         For Each noTetra In noBisneto
                                         Next
                                     End If
                                     If noBisneto.Name = "dup" Then 'Dados da duplicata
                                         For Each noTetra In noBisneto
                                         Next
                                     End If
                                 Next
                             ElseIf noNeto.Name = "total" Then
                                 For Each noBisneto In noNeto
                                     If noBisneto.Name = "ICMSTot" Then
                                         For Each noTetra In noBisneto
                                             txtValor.Text = noBisneto.ChildNodes.Item(17).InnerText
                                         Next
                                     End If
                                 Next
                             ElseIf noNeto.Name = "entrega" Then 'Dados da Entrega
                                 For Each noBisneto In noNeto
                                 Next
                             ElseIf noNeto.Name = "det" Then 'Verifica os detalhes dos produtos
                                 For Each noBisneto In noNeto
                                     If noBisneto.Name = "prod" Then 'Dados dos Produtos
                                         For Each noTetra In noBisneto
                                         Next
                                     End If
                                     If noBisneto.Name = "ICMS" Then 'Dados do ICMS
                                         For Each noTetra In noBisneto
                                         Next
                                     End If
                                 Next
                             End If
                         Next
                     End If
                 Next
             End If
         Next
     End If
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual é o erro que ocorre?

Compartilhar este post


Link para o post
Compartilhar em outros sites

A nota fiscal tem vários vencimentos, estou precisando que ao importar os dados xml para o sistema, que os vencimentos sejam preenchidos em diferentes textbox conforme imagem abaixo:

 

a tag que preciso importar da nfe é a "dup".

 

pHMjVMY.jpg

1TLGVUu.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, mas você ja tentou fazer? Ocorre algum erro?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo, como vai !!! Nem sei se ainda é possivel te ajudar pois faz tempo que fez a pergunta e eu sou novo aqui

Sabe quando existe mais de um item na Nfe, ele abre o campo <det> mas coloca na frente de campo o numero do item antes de fechar a tag, enhtao fica assim

<det nItem="1">

bla bla vla

</det>

<det nItem="2">

bla bla vla

</det>

<det nItem="3">

bla bla vla

</det>

Quem sabe não é o mesmo caso no campo DUP que você precisa ???

Espero ter ajudado, e só pra saber você usa VB6 ou VB.net, gostei da sua rotina, mas nao acho as referencias do openfiledialog1

Valeu

Léo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

  • Conteúdo Similar

    • Por revendacampi
      Olá, estou desenvolvendo um projeto em PHP onde ao ler o QR code eu consigo pegar as informações tais como CNPJ e Valor, alguem sabe alguma forma que eu consiga fazer isso de onde posso puxar as informações do QR Code ou se o SEFAZ MT tem alguma api que consigo puxar atraves do qr code.
    • Por eduardohaag
      Olá estou criando um sistema onde preciso calcular a previsão de envio do pedido em dias uteis, para isso estou usando um webservice gratuito que retorna um xml, porém estou tendo o erroSystem.XML.XmlException: 'Dados no nível raiz inválidos. Linha 1, posição 1.'
       
      Meu código é 
      Sub Preenchedata() Dim sql = "SELECT PrazoPadraoProducao FROM Configuracoes" Dim dr As DataTable = AcessoDB.ExecutarComando(sql, CommandType.Text, Nothing, AcessoDB.TipoDeComando.ExecuteDataTable) Dim ds As New DataSet Dim xml As String = "https://elekto.com.br/api/Calendars/br-BC/Add?initialDate=" & Now.Year & "-" & Now.Month & "-" & Now.Day & "&days=" & dr.Rows(0).Item(0) & "&type=work" ds.ReadXml(xml)  
      e o xml retornado é 
       
      <dateTime xmlns="http://schemas.microsoft.com/2003/10/Serialization/">2019-05-03T00:00:00Z</dateTime>  
      Alguém tem alguma ideia de como posso eliminar o erro?
    • Por tiagosp
      Estou tentando enviar uma solicitação ao web servirço do Correios, porém não consigo obter a resposta.
      var cep = document.getElementById("cep").value; var doc = "http://cep.republicavirtual.com.br/web_cep.php?cep=" + cep + "&formato=xml" var xhttp = new XMLHttpRequest(); xhttp.open("GET", doc, false); xhttp.send(); O parametro cep é passado pela url, logo imagino que o método seja GET, deixei o terceiro parametro como false, pois estou apenas testando e não conheço nada de javascript, sei que quando esse parametro é true, é preciso checar quando chega a resposta.
      Por fim, o xhttp.response não retorna nada...
    • Por Diego_IVORECAP
      Boa tarde, Gostaria de ajuda de vocês,
       
      Estou com dificuldade em linkar meu arquivo XML vinda de outro servidor com pasta compartilhada. Já fiz Mapeamento e tentei acessar de algumas formas mas sem sucesso,
      No servidor local acessa sem problemas, mas quando vou acessar o arquivo pelo mapeamento vinda de uma pasta compartilhada não encontra o arquivo. Dei uma olhada no manual do PHP mas não consegui achar nada que me trouxesse uma luz.Abaixo parte do código. Desde já agradeço.

      Assim não encontra arquivo:
      $link = "//192.168.1.3/work/TOTALCAP/AM/horas.xml"; //link do arquivo xml
      $xml = simplexml_load_file($link) -> channel; //carrega o arquivo XML e retornando um Array

      Assim funciona normalmente:
      $link = "../horas.xml"; //link do arquivo xml
      $xml = simplexml_load_file($link) -> channel; //carrega o arquivo XML e retornando um Array
    • Por ozielusa
      Bom dia Pessoal.
      Sou Leigo em Jquery e estou precisando da ajuda de vocês para o seguinte:
      Tenho este arquivo XML que é gerado e atualizado automaticamente por um software a cada vez que uma música termina e outra se inicia (Este arquivo é enviado automaticamente via FTP para o servidor a cada nova atualização).
      <?xml version="1.0" encoding="utf-8"?> <Schedule System="Jazler"> <Event status="happening" startTime="09:19:18" eventType="song"> <Announcement Display="Now On Air:"/> <Song title="Rachel Malafaia"> <Artist name="03"> </Artist> <Jazler ID="131"/> <PlayLister ID=""/> <Media runTime="00:03:55"/> <Expire Time="09:23:12"/> </Song> </Event> </Schedule> Preciso que a página do site leia este arquivo com a estrutura acima (que é gerada automaticamente) e atualize as informações de <Song Title>, <Artist name>, etc... em uma tag <li> na página HTML, mas preciso que essa atualização ocorra em tempo real sem a necessidade de recarregar (Refresh) a página. (Por isso gostaria que fosse com JQuery), mas como sou leigo no assunto, gostaria da ajuda dos colega sobre como fazer isso, pois os exemplos que tenho achado na internet eu não estou conseguindo fazer funcionar.
      Obrigado e forte abraço a todos. 

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.