LER XML NFE
Estou lendo arquivo XML da NFe com o código abaixo retirado do site https://social.msdn.microsoft.com/Forums/vstudio/pt-BR/d04a34dc-1604-433e-ba8c-55ed512b8983/ler-xml?forum=vsvbasicpt.
Ele le muito bem, porem quando não existe alguma tag como por exemplo xFant o codigo abaixo da erro.
Como posso identificar se a tag existe?
Try
Dim Ds As New DataSet
Ds.ReadXml(sXML)
Dim bdsAux As New BindingSource
bdsAux.DataSource = Ds
bdsAux.DataMember = [Ô]infNFe[Ô]
Dim sChave As String
Try
sChave = bdsAux.Current([Ô]Id[Ô]).ToString.ToUpper
Catch ex As Exception
trate as exceções aqui
End Try
Catch ex As Exception
trate as exceções aqui
End Try
Obs.: O caminho para o arquivo XML esta na variável sXML.
Ele le muito bem, porem quando não existe alguma tag como por exemplo xFant o codigo abaixo da erro.
Como posso identificar se a tag existe?
Try
Dim Ds As New DataSet
Ds.ReadXml(sXML)
Dim bdsAux As New BindingSource
bdsAux.DataSource = Ds
bdsAux.DataMember = [Ô]infNFe[Ô]
Dim sChave As String
Try
sChave = bdsAux.Current([Ô]Id[Ô]).ToString.ToUpper
Catch ex As Exception
trate as exceções aqui
End Try
Catch ex As Exception
trate as exceções aqui
End Try
Obs.: O caminho para o arquivo XML esta na variável sXML.
segue um exemplo completo feito pelo nosso amigo DS2T
vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=462363&pagina=1
vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=462363&pagina=1
Prezados, agradeço as respostas com alternativas para fazer o que preciso, mas gostaria de saber se existe a possibilidade de verificar se alguma tag existe utilizando o código que já estou utilizando conforme informado no primeiro post?
Consegui resolver! Para quem precisar, para verificar se uma tag existe basta utilizar o código abaixo:
[ô]verifica se a tag xFant existe no XML
If Ds.Tables([Ô]emit[Ô]).Columns.Contains([Ô]xFant[Ô]) Then
<EXISTE>
Else
<NÃO EXISTE>
End If
Repare que na estrutura do xml da NFe a tag xFant esta dentro da tag emit. Basta ir trocando o nome para verificar outras tags.
Não sei se é a melhor forma para para mim deu certo!
[ô]verifica se a tag xFant existe no XML
If Ds.Tables([Ô]emit[Ô]).Columns.Contains([Ô]xFant[Ô]) Then
<EXISTE>
Else
<NÃO EXISTE>
End If
Repare que na estrutura do xml da NFe a tag xFant esta dentro da tag emit. Basta ir trocando o nome para verificar outras tags.
Não sei se é a melhor forma para para mim deu certo!
Tópico encerrado , respostas não são mais permitidas