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
- 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. - Certifique-se de que o projeto faz referência a namespace System. XML .
- 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
- 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
- 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")
- 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
- 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()
- 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()
- 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
- 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
- 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
- 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()
- 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
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):
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
| kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMtpt |
Tradução automáticaIMPORTANTE: 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
(http://support.microsoft.com/kb/301111/en-us/
)