Como navegar XML com a classe XPathNavigator usando Visual Basic

Traduções deste artigo Traduções deste artigo
ID do artigo: 301111 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi publicado anteriormente em BR301111
Para obter uma versão deste artigo, Microsoft Visual C# Consulte 308343.
Para uma versão 6.0 do Microsoft Visual Basic artigo, consulte 271619.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Este artigo passo a passo ilustra como navegar Documentos de Extensible Markup Language (XML) com um objeto XPathNavigator criado a partir de um objeto XPathDocument . Este exemplo carrega um objeto XPathDocument com dados XML, cria um objeto XPathNavigator como um modo de exibição para os dados e exibe o XML percorrendo no documento.

Requisitos

O lista a seguir descreve o hardware recomendado, software, rede infra-estrutura e service packs que você precisa:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server ou o Microsoft Windows NT 4.0 Server
  • Microsoft Visual Studio 2005 ou Microsoft Visual Studio .NET
Isso artigo presume que você esteja familiarizado com os seguintes tópicos:
  • Terminologia XML
  • Criar e ler arquivos XML
  • Sintaxe XML Path Language (XPath)

Como usar a classe XPathNavigator para navegar XML

  1. Em 2005 de Visual Studio ou Visual Studio. NET, crie um Visual Basic .net Console Application ou Visual Basic 2005.

    Observação Este exemplo usa um arquivo chamado Books. XML. Você pode criar seu próprio arquivo Books. XML ou você pode usar o exemplo que acompanha o Quickstarts do .net software Development Kit (SDK). Se você tiver o Quickstarts instalado, o Books. XML está localizado na seguinte pasta:
    \Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Como alternativa, Você pode obter esse arquivo, visitando o seguinte site:
    . aspx http://msdn.microsoft.com/en-us/library/Windows/Desktop/ms762271 (v=vs.85)

    Você deve copiar Books. XML para o Pasta \Bin\Debug que está localizada sob a pasta na qual você criou este projeto.
  2. Certifique-se de que o projeto faz referência a namespace System. XML .
  3. Use a declaração Imports nos namespaces Xml e XPath para que não é necessário para qualificar declarações nesses namespaces posteriormente no seu código. Você deve usar a instrução Imports antes de quaisquer outras declarações.
    Imports System.Xml
    Imports System.Xml.XPath
    					
  4. Declare as variáveis apropriadas. Declare um objeto XPathDocument para guardar o documento XML e um objeto XPathNavigator para avaliar expressões XPath e percorrer o documento. Declare um objeto String para armazenar a expressão XPath. Adicionar o código de declaração o procedimento principal em Module1.
    Dim nav As XPathNavigator
    Dim docNav As XPathDocument
    					
  5. Carregar um objeto XPathDocument com o arquivo de exemplo Books. XML. A classe XPathDocument usa extensível Stylesheet Language Transformations (XSLT) para fornecer um cache rápido e desempenho orientado para processamento de documentos XML. É semelhante para o XML DOM Document Object Model (), mas é altamente otimizada para processamento XSLT e o modelo de dados XPath.
    'Open the XML.
    docNav = New XPathDocument("books.xml")
    					
  6. Crie um objeto XPathNavigator do documento. XPathNavigator permite percorrer os nós de atributos e o nós de namespace em um documento XML.
    'Create a navigator to query with XPath.
    nav = docNav.CreateNavigator
    					
  7. Mover para a raiz do documento com o método MoveToRoot . MoveToRoot define o navegador para o nó do documento que contém todo o árvore de nós.
    'Initial XPathNavigator to start at the root.
    nav.MoveToRoot()
    					
  8. Use o método MoveToFirstChild para mover para os filhos do documento XML. O método MoveToFirstChild move para o primeiro filho do nó atual. No caso de fonte Books, estão mudando o documento raiz para o crianças, a seção de comentário e o nó Bookstore.
    'Move to the first child node (comment field).
    nav.MoveToFirstChild()
    					
  9. Use o método MoveToNext para percorrer os nós no nível do irmão. O método MoveToNext move para o próximo irmão do nó atual.
    'Loop through all the root nodes.
    Do
        ...
    Loop While nav.MoveToNext
    					
  10. Use a propriedade NodeType para certificar-se de que você está processando apenas nós de elemento e use a propriedade Value para exibir a representação de texto do elemento.
    Do
        'Find the first element.
        If nav.NodeType = XPathNodeType.Element Then
    'If children exist.
    If nav.HasChildren Then
    
        'Move to the first child.
        nav.MoveToFirstChild()
    
        'Loop through all the children.
        Do
    'Display the data.
    Console.Write("The XML string for this child ")
    Console.WriteLine("is '{0}'", nav.Value)
    Loop While nav.MoveToNext
    
    End If
        End If
    Loop While nav.MoveToNext
    					
  11. Use a propriedade HasAttributes para determinar se um nó tem os atributos. Você pode também use outros métodos, como MoveToNextAttribute, mover para um atributo e inspecionar o seu valor. Observe que este segmento de código percorre apenas descendentes do nó raiz e não o toda a árvore.
    Do
        'Find the first element.
        If nav.NodeType = XPathNodeType.Element Then
    'if children exist
    If nav.HasChildren Then
    
        'Move to the first child.
        nav.MoveToFirstChild()
    
        'Loop through all the children.
        Do
    'Display the data.
    Console.Write("The XML string for this child ")
    Console.WriteLine("is '{0}'", nav.Value)
    
    'Check for attributes.
    If nav.HasAttributes Then
        		Console.WriteLine("This node has attributes")
    End If
    Loop While nav.MoveToNext
    
    End If
        End If
    Loop While nav.MoveToNext
    					
  12. Use o método ReadLine do objeto Console para adicionar uma pausa no final da tela do console mais Exiba rapidamente os resultados acima.
    'Pause.
    Console.ReadLine()
    					
  13. Criar e executar seu projeto de aplicativo de Console.

Listagem de código completo

Imports System.Xml
Imports System.Xml.XPath

Module Module1

    Sub Main()
        Dim nav As XPathNavigator
        Dim docNav As XPathDocument
        docNav = New XPathDocument("books.xml")
        nav = docNav.CreateNavigator
        nav.MoveToRoot()
        'Move to the first child node (comment field).
        nav.MoveToFirstChild()

        Do
            'Find the first element.
            If nav.NodeType = XPathNodeType.Element Then
                'if children exist
                If nav.HasChildren Then

                    'Move to the first child.
                    nav.MoveToFirstChild()

                    'Loop through all the children.
                    Do
                        'Display the data.
                        Console.Write("The XML string for this child ")
                        Console.WriteLine("is '{0}'", nav.Value)

                        'Check for attributes.
                        If nav.HasAttributes Then
                            Console.WriteLine("This node has attributes")
                        End If
                    Loop While nav.MoveToNext

                End If
            End If
        Loop While nav.MoveToNext

        'Pause.
        Console.ReadLine()

    End Sub

End Module
				

Referências

Para obter mais informações, visite a seguinte Web Microsoft Developer Network (MSDN) sites:
XML no .net: classes XML do.NET Framework e C# oferecem a manipulação de dados simples, dimensionável
http://msdn.microsoft.com/msdnmag/issues/01/01/XML

XPathNavigator classe
http://msdn.microsoft.com/en-us/library/System.XML.XPath.XPathNavigator.aspx

XPathDocument classe
http://msdn.microsoft.com/en-us/library/System.XML.XPath.XPathDocument.aspx

Transformações XSLT com a classe XslTransform
http://msdn.microsoft.com/en-us/library/System.XML.xsl.XslTransform.aspx

Exemplo de XPath
http://msdn.microsoft.com/en-us/library/ms256086.aspx
Para obter mais informações, visite o seguinte site da World Wide Web Consortium (W3C):
XML Path Language (XPath)
Versão 1.0: Recomendação do W3C 16 de novembro 1999
http://www.w3.org/TR/1999/rec-XPath-19991116

Propriedades

ID do artigo: 301111 - Última revisão: quinta-feira, 5 de julho de 2012 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
Palavras-chave: 
kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 301111

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com