Como navegar XML com a classe XPathNavigator usando Visual Basic

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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 301111
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.
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:
    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.XmlImports 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 XPathNavigatorDim 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.MoveToNextEnd If    End IfLoop 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 existIf 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 IfLoop While nav.MoveToNextEnd If    End IfLoop 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.XmlImports System.Xml.XPathModule 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 SubEnd Module				
Referências
Para obter mais informações, visite a seguinte Web Microsoft Developer Network (MSDN) sites: 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
Procurar dotnet

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 301111 - Última Revisão: 07/05/2012 16:27:00 - Revisão: 1.0

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 Standard Edition, Microsoft Visual Basic .NET 2002 Standard Edition

  • kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMtpt
Comentários