PEGAR TAG XML

 Tópico anterior Próximo tópico Novo tópico

PEGAR TAG XML

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#492200 - 12/01/2020 21:31:10

ATSILVA
SAO PAULO
Cadast. em:Março/2014


Última edição em 12/01/2020 21:33:00 por ATSILVA

Ol, preciso pegar o valor da TAG xMsg do XML da NFe do MS sendo que nem sempre essa TAG esta presente no XML, ento antes preciso verificar se a tag existe para pegar seu valor.


PS: Essa tag fica no mesmo grupo da dhRecbto no arquivo XML.




Resposta escolhida #492201 - 13/01/2020 10:52:10

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


posta um xml com essa tag



#492202 - 13/01/2020 11:00:32

ATSILVA
SAO PAULO
Cadast. em:Março/2014


Última edição em 13/01/2020 11:02:12 por ATSILVA

Tenho o XML real do cliente, mas, como um documento fiscal da loja no me sinto a vontade em disponibilizar na internet.
Peo desculpas, se conseguir pegar o campo dhRecbto ja vai ajudar, por que, no caso ele esta no mesmo grupo da xMsg e em teoria ser s mudar o nome que vai pega-la tambm.

PS: At consegui pegar o valor da TAG, mas, o problema quando ela no existe.




#492203 - 13/01/2020 11:06:30

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


pega o xml editas os valores sejam quais for da indentidade do emissor e do cliente apague e poste



#492204 - 13/01/2020 11:21:03

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Última edição em 13/01/2020 11:27:19 por FABRICIOWEB

seria mais ou menos isso nao sei nao uso vb net

Imports System.Xml

Public Class Form1


    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Try
            Dim nota As String = [][]
            If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
               nota = OpenFileDialog1.FileName
                Dim doc As XmlDocument = New XmlDocument()
                doc.Load(nota)
                Dim No As XmlNodeList = doc.GetElementsByTagName([]prod[])  muda aqui para onde esta a coleo de tag
                Dim nome As String = [][]
                Dim ncm As String = [][]
                Dim cfop As String = [][]
                Dim ucom As String = [][]
                Dim qcom As String = [][]
                Dim vuncom As String = [][]
                Dim vprod As String = [][]
                Dim vuntrib As String = [][]
                Dim barra As String = [][]
                Dim xMsg As String = [][]
                Dim yy As Integer = 0

                For Each book As XmlNode In No

                    For i As Integer = 0 To book.ChildNodes.Count - 1

                        Select Case book.ChildNodes.Item(i).Name
                            Case []cEAN[]
                                barra = book.ChildNodes.Item(i).InnerXml
                            Case []xProd[]
                                nome = book.ChildNodes.Item(i).InnerXml

                            Case []NCM[]
                                ncm = book.ChildNodes.Item(i).InnerXml
                                MessageBox.Show(ncm)

                            Case []CFOP[]
                                cfop = book.ChildNodes.Item(i).InnerXml
                                MessageBox.Show(cfop)
                            Case []uCom[]
                                ucom = book.ChildNodes.Item(i).InnerXml
                                MessageBox.Show(ucom)
                            Case []qCom[]
                                qcom = String.Format([]{0:d}[], (book.ChildNodes.Item(i).InnerXml))
                                MessageBox.Show(qcom)
                            Case []vUnCom[]
                                vuncom = String.Format([]{0:d}[], book.ChildNodes.Item(i).InnerXml)
                                MessageBox.Show(vuncom)
                            Case []vProd[]
                                vprod = String.Format([]{0:d}[], (book.ChildNodes.Item(i).InnerXml))
                                MessageBox.Show(vprod)
                            Case []vUnTrib[]
                                vuntrib = String.Format([]{0:d}[], (book.ChildNodes.Item(i).InnerXml))
                                MessageBox.Show(vuntrib)
      
                        End Select
                    Next
                Next

                MessageBox.Show([]Arquivo xml da Nota Fiscal lido com Sucesso![], []Aviso - Leitura do Arquivo[], MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If

        Catch ex As Exception
        End Try
    End Sub
End Class


de cima  tags prod



acho que ficaria asssim



  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Try
            Dim nota As String = [][]
            If OpenFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
               nota = OpenFileDialog1.FileName
                Dim doc As XmlDocument = New XmlDocument()
                doc.Load(nota)
                Dim No As XmlNodeList = doc.GetElementsByTagName([]dhRecbto[])  
                Dim xMsg As String = [][]
          

                For Each book As XmlNode In No

                    For i As Integer = 0 To book.ChildNodes.Count - 1

                        Select Case book.ChildNodes.Item(i).Name
                                Case []xMsg[]
                                xMsg = book.ChildNodes.Item(i).InnerXml

                        End Select
                    Next
                Next

                MessageBox.Show([]Arquivo xml da Nota Fiscal lido com Sucesso![], []Aviso - Leitura do Arquivo[], MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If

        Catch ex As Exception
        End Try
    End Sub








#492205 - 13/01/2020 11:25:40

CLEVERTON
SERRINHA
Cadast. em:Dezembro/2003


Membro da equipe
No seria melhor Deserializar o XML e pegar o valor pelos atributos da classe ?



#492206 - 13/01/2020 11:27:06

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Citação:
:
No seria melhor Deserializar o XML e pegar o valor pelos atributos da classe ?

Com toda certeza. No entendo porque insistir em usar esses mtodos to arcaicos e no confiveis.

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#492207 - 13/01/2020 11:41:16

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Citação:
:
:
No seria melhor Deserializar o XML e pegar o valor pelos atributos da classe ?
Com toda certeza. No entendo porque insistir em usar esses mtodos to arcaicos e no confiveis.

ento poste como fazer assim como eu e outras pessoas que usam esse metodo iram aprender com sua resposta e nao vao mais usar o metodo arcaico para tal finalidade



#492208 - 13/01/2020 11:55:36

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
Nossa, isso j foi postado aqui algumas dzias de vezes, fiz um vdeo especialmente pra isso no meu canal.

_______________________________________________________________________
Virei Orculo!
The end is nigh, be ready for the nukes!


#492209 - 13/01/2020 12:05:31

FABRICIOWEB
BELO HORIZONTE
Cadast. em:Novembro/2011


Citação:
:
Nossa, isso j foi postado aqui algumas dzias de vezes, fiz um vdeo especialmente pra isso no meu canal.

obrigado, no tinha visto seu video ainda e nem aqui no forum irei ver o video



#492210 - 13/01/2020 12:06:47

ATSILVA
SAO PAULO
Cadast. em:Março/2014


Deu certo, obrigado a todos em especial ao FABRICIOWEB pelo esforo em ajudar.



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por ATSILVA em 13/01/2020 12:06:57