Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Votre navigateur n’est pas pris en charge

Vous devez mettre à jour votre navigateur pour utiliser le site.

Mettre à jour vers la dernière version d’Internet Explorer

La navigation XML avec la classe XPathNavigator à l'aide de Visual Basic

Ancien nº de publication de cet article : F301111
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 301111
Pour obtenir une version Microsoft Visual C# du présent article, Voir 308343.
Pour obtenir une version Microsoft Visual Basic 6.0 de cette article, reportez-vous à 271619.
Résumé
Cet article pas à pas illustre comment naviguer Documents XML (Markup Language) extensible avec un objet XPathNavigator qui est créé à partir d'un objet XPathDocument . Cet exemple charge un objet XPathDocument avec des données XML, crée un objet XPathNavigator en tant que vue sur les données et affiche le code XML en parcourant dans le document.

Configuration requise

Le liste suivante met en évidence le matériel recommandé, de logiciels, de réseau infrastructure et des service packs dont vous avez besoin :
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Professionnel, Windows 2000 Server, Windows 2000 Advanced Server ou Microsoft Windows NT 4.0 Server
  • Microsoft Visual Studio 2005 ou Microsoft Visual Studio .NET
Ceci article suppose que vous êtes familiarisé avec les rubriques suivantes :
  • Terminologie XML
  • Création et lecture de fichiers XML
  • Syntaxe XML Path Language (XPath)

Comment utiliser la classe XPathNavigator pour naviguer dans XML

  1. Dans Visual Studio 2005 ou dans Visual Studio. NET, créez un 2005 Visual Basic ou Visual Basic .net Console Application.

    Remarque : Cet exemple utilise un fichier nommé Books.xml. Vous pouvez créer votre propre fichier Books.xml, ou vous pouvez utiliser l'exemple qui accompagne le .NET software Development Kit (SDK) démarrages rapides. Si vous avez les Démarrages rapides installés, Books.xml se trouve dans le dossier suivant :
    \Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Vous pouvez également Vous pouvez obtenir ce fichier en visitant le site Web suivant :
    Vous devez copier Books.xml dans le Dossier \Bin\Debug, qui se trouve sous le dossier dans lequel vous avez créé ce projet.
  2. Assurez-vous que le projet référence l'espace de noms System.Xml .
  3. Utilisez l'instruction Imports sur les espaces de noms Xml et XPath afin que ne pas avoir à rédiger de déclaration sur ces espaces ultérieurement dans votre code. Vous devez utiliser l'instruction Imports avant toute autre déclaration.
    Imports System.XmlImports System.Xml.XPath					
  4. Déclarez les variables appropriées. Déclarer un objet XPathDocument pour contenir le document XML et un objet XPathNavigator pour évaluer des expressions XPath et se déplacer dans le document. Déclarer un objet String pour contenir l'expression XPath. Ajoutez le code de déclaration dans la procédure Main dans Module1.
    Dim nav As XPathNavigatorDim docNav As XPathDocument					
  5. Charger un objet XPathDocument avec le fichier exemple Books.xml. La classe XPathDocument utilise Extensible Stylesheet Language Transformations (XSLT) pour fournir un cache rapide et orienté performances pour le traitement de document XML. Il est similaire à l'objet modèle DOM (Document XML) mais est particulièrement optimisée pour traitement XSLT et le modèle de données XPath.
    'Open the XML.docNav = New XPathDocument("books.xml")					
  6. Créer un objet XPathNavigator à partir du document. XPathNavigator permet de se déplacer dans les deux nœuds d'attributs et les espace de noms des nœuds dans un document XML.
    'Create a navigator to query with XPath.nav = docNav.CreateNavigator					
  7. Déplacer vers la racine du document avec la méthode MoveToRoot . Cette méthode place le navigateur vers le nœud de document qui contient l'intégralité de la arborescence de nœuds.
    'Initial XPathNavigator to start at the root.nav.MoveToRoot()					
  8. Utilisez la méthode MoveToFirstChild pour atteindre les enfants du document XML. La méthode MoveToFirstChild se déplace vers le premier enfant du nœud actuel. Dans le cas de la source Books.xml, vous vous éloignez de document racine dans le enfants, la section commentaire et le nœud Bookstore.
    'Move to the first child node (comment field).nav.MoveToFirstChild()					
  9. Utilisez la méthode MoveToNext pour parcourir des nœuds frères. La méthode MoveToNext déplace vers le frère suivant du nœud actuel.
    'Loop through all the root nodes.Do    ...Loop While nav.MoveToNext					
  10. Utilisez la propriété NodeType pour vous assurer que vous traitez uniquement des nœuds d'élément, et utilisez la propriété Value pour afficher la représentation textuelle de l'élément.
    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. Utilisez la propriété HasAttributes pour déterminer si un nœud possède des attributs. Vous pouvez permet également d'autres méthodes, telles que MoveToNextAttribute, déplacer vers un attribut et examiner sa valeur. Notez que cette segment de code parcourt uniquement les descendants du nœud racine et pas la ensemble de l'arborescence.
    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. Utilisez la méthode ReadLine de l'objet Console pour ajouter une pause à la fin de la console affiche plus afficher facilement les résultats ci-dessus.
    'Pause.Console.ReadLine()					
  13. Générez et exécutez votre projet d'Application Console.

Liste de code complète

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				
Références
Pour plus d'informations, visitez le site Web Microsoft Developer Network (MSDN) suivant sites : Pour plus d'informations, visitez le site Web de World Wide Web Consortium (W3C) à l'adresse suivante :
XML Path Language (XPath)
Version 1.0 : 16 novembre à la recommandation du W3C 1999
http://www.w3.org/TR/1999/REC-xpath-19991116
Parcourir dotnet

Avertissement : cet article a été traduit automatiquement

iv>
United States (English)
香港特別行政區 - 繁體中文
El Salvador - Español
Panamá - Español
Uruguay - Español
대한민국 - 한국어
España - Español
Paraguay - Español
Venezuela - Español
e='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> rotocol) + "//c.microsoft.com/ms.js'><\/script>"); t=">