Usuário com melhor resposta
Leitura XML$

Pergunta
-
Olá amigos,
Tenho uma estrutura XML parecida com isto.
<mensagem>
<cabecalho>
<identificacaoTransacao>
<tipoTransacao>PROTOCOLO</tipoTransacao>
<sequencialTransacao>1</sequencialTransacao>
<dataRegistroTransacao>2007-12-12</dataRegistroTransacao>
<horaRegistroTransacao>12:00:00</horaRegistroTransacao>
</identificacaoTransacao>
<origem>
<registro>123456</registro>
</origem>
<destino>
<registro>145874</registro>
</destino>
<versaoPadrao>2.01.01</versaoPadrao>
</cabecalho>
</mensagem>
Preciso pegar os valores de cada item em separado via código.
Utilizo VB.Net
Ex:
Cabeçalho / Identificação transação / Tipo Transação = PROTOCOLO
Cabeçalho / Identificação transação / sequencialTransação = 1
Cabeçalho / Identificação transação / dataRegistroTransaçao = 2007-12-12
Cabeçalho / Identificação transação / horaRegistroTransação = 12:00:00
Cabeçalho / Origem /Registro = 123456
Cabeçalho / Destino /Registro = 145874
Cabeçalho / Versão Padrão = 2.01.01
Alguém já trabalhou com XML assim ?
[]'s
Anereu Bighetti
Respostas
-
Consegui,
Segue o exemplo pra quem precisar.
Dim xDoc As New XmlDocument
xDoc.Load("D:\Recebido\exemplox.xml")
Dim tipoTransacao As XmlNode = xDoc("mensagem")("cabecalho")("identificacaoTransacao")("tipoTransacao")
Debug.WriteLine(tipoTransacao.InnerText)
Dim sequencialTransacao As XmlNode = xDoc("mensagem")("cabecalho")("identificacaoTransacao")("sequencialTransacao")
Debug.WriteLine(sequencialTransacao.InnerText)
Dim registro As XmlNode = xDoc("mensagem")("cabecalho")("origem")("registro")
Debug.WriteLine(registro.InnerText)
[]'s
Anereu Bighetti
Todas as Respostas
-
Um modo é usar o caminho absoluto para cada item:
Dim xDoc As New XmlDocument()
xDoc.Load(<Caminho para o arquivo>)
Dim tipoTransacao As XmlNode = xDoc.SelectSingleNode("mensagem/cabecalho/identificacaoTransacao/tipoTransacao")
Console.WriteLine(tipoTransacao.InnerText)Dim sequencialTransacao As XmlNode = xDoc.SelectSingleNode("mensagem/cabecalho/identificacaoTransacao/sequencialTransacao")
Console.WriteLine(sequencialTransacao.InnerText)Dim registro As XmlNode = xDoc.SelectSingleNode("mensagem/cabecalho/origem/registro")
Console.WriteLine(registro.InnerText) -
-
Consegui,
Segue o exemplo pra quem precisar.
Dim xDoc As New XmlDocument
xDoc.Load("D:\Recebido\exemplox.xml")
Dim tipoTransacao As XmlNode = xDoc("mensagem")("cabecalho")("identificacaoTransacao")("tipoTransacao")
Debug.WriteLine(tipoTransacao.InnerText)
Dim sequencialTransacao As XmlNode = xDoc("mensagem")("cabecalho")("identificacaoTransacao")("sequencialTransacao")
Debug.WriteLine(sequencialTransacao.InnerText)
Dim registro As XmlNode = xDoc("mensagem")("cabecalho")("origem")("registro")
Debug.WriteLine(registro.InnerText)
[]'s
Anereu Bighetti -
-
-