none
Como ler um arquivo XML com o XMLDocument no VB.NET? RRS feed

  • Pergunta

  • Olá pessoal!

    Tenho o seguinte XML que é retornado por um webservice 

    "<?xml version="1.0" encoding="iso-8859-1"?>
    <LISTAR_EMPRESAS_RET>
    <STATUS>0</STATUS>
    <EMPRESAS><EMPRESA>
    <EMPRES_ID>132</EMPRES_ID>
    <NOME>ALFA SISTEMAS DE REFRIGERACAO LTDA</NOME>
    <FANTASIA>ALFA SISTEMAS DE REFRIGERACAO LTDA</FANTASIA>
    </EMPRESA><EMPRESA>
    <EMPRES_ID>133</EMPRES_ID>
    <NOME>BETA EMPREENDIMENTOS LTDA</NOME>
    <FANTASIA>BETA EMPREENDIMENTOS LTDA</FANTASIA>
    </EMPRESA><EMPRESA>
    <EMPRES_ID>124</EMPRES_ID>
    <NOME>BONACIOFARMA</NOME>
    <FANTASIA>BONACIOFARMA</FANTASIA>
    </LISTAR_EMPRESAS_RET>

    Gostaria de saber como faço para ler cada atributo das tags.
    Tentei a seguinte codificação, mas não obtive sucesso:

               xmlDoc.LoadXml(Retorno)

                Dim node As XmlNode = xmlDoc.DocumentElement
                Dim nodeList As XmlNodeList = node.SelectNodes("LISTAR_EMPRESAS_RET")
                Dim xn As XmlNode

                For Each xn In nodeList
                    MsgBox(xn.Attributes("Empresa").Value)
                Next

    Obrigado desde já!

    quarta-feira, 14 de agosto de 2013 13:36

Todas as Respostas

  • Dim xmlDoc as XmlDocument = new XmlDocument() Dim xnList as XmlNodeList = xmlDoc.GetElementsByTagName("LISTAR_EMPRESAS_RET") xmlDoc.Load(Retorno) For Each xn As XmlNode In xnList Dim sEmpresa As String = xn("Empresa").InnerText MessageBox.Show(sEmpresa) next

    Segue um trecho de código.

    • Editado JoaoMarques- quarta-feira, 14 de agosto de 2013 18:31
    quarta-feira, 14 de agosto de 2013 18:30
  • Amigo,
    Tentei o que você sugeriu, mas não obtive sucesso. Primeiro tive de trocar o xmlDoc.Load pelo xmlDoc.LoadXML, não sei se isso implica em algo, mas acredito que não. O erro agora ocorre na hora de apresentar os valores do xmlNodeList, ele simplesmente não carrega nada. Fica zerado.

    Saberia dizer o porque?
    Agradeço desde já pela ajuda!

    sexta-feira, 16 de agosto de 2013 11:50