Cómo recorrer XML con la clase XPathNavigator mediante el uso de Visual Basic

Este artículo se publicó anteriormente con el número E301111
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 301111
Para obtener una versión de Microsoft Visual C# del presente artículo, Consulte 308343.
Para obtener una versión 6.0 de Microsoft Visual Basic de este artículo, consulte 271619.
Resumen
En este artículo paso a paso se muestra cómo recorrer Documentos Extensible Markup Language (XML) con un objeto XPathNavigator creado a partir de un objeto XPathDocument . En este ejemplo carga un objeto XPathDocument con datos XML, crea un objeto XPathNavigator como una vista de los datos y muestra el XML recorriendo en el documento.

Requisitos

El lista siguiente describe el hardware recomendado, software, red infraestructura y service packs que necesita:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server o Microsoft Windows NT 4.0 Server
  • Visual Studio de Microsoft 2005 o Microsoft Visual Studio .NET
Esto artículo se supone que está familiarizado con los temas siguientes:
  • Terminología XML
  • Crear y leer archivos XML
  • Sintaxis de XML Path Language (XPath)

Cómo utilizar la clase XPathNavigator para recorrer XML

  1. En 2005 de Visual Studio o en Visual Studio. NET, cree un Visual Basic 2005 o aplicación de consola de. Visual Basic.

    Nota Este ejemplo utiliza un archivo denominado Books.xml. Puede crear su propio archivo Books.xml, o puede utilizar el ejemplo que se incluye con el Tutoriales del Kit (SDK) de desarrollo de software.. Si tiene los tutoriales rápidos instalado, el archivo Books.xml se encuentra en la carpeta siguiente:
    \Archivos de programa\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    Como alternativa, puede obtener este archivo, visite el siguiente sitio Web:
    Debe copiar el archivo Books.xml a la Carpeta \Bin\Debug que se encuentra en la carpeta en la que se creó proyecto.
  2. Asegúrese de que el proyecto hace referencia el espacio de nombres System.Xml .
  3. Utilice la instrucción Imports en los espacios de nombres Xml y XPath , por lo que no tenga que calificar las declaraciones en esos espacios de nombres más adelante en el código. Debe utilizar la instrucción Imports antes que cualquier otra declaración.
    Imports System.XmlImports System.Xml.XPath					
  4. Declare las variables apropiadas. Declarar un objeto XPathDocument para mantener el documento XML y un objeto XPathNavigator para evaluar expresiones XPath y moverse por el documento. Declare un objeto String para almacenar la expresión XPath. Agregue el código de declaración en el procedimiento Main de Module1.
    Dim nav As XPathNavigatorDim docNav As XPathDocument					
  5. Cargar un objeto XPathDocument con el archivo de ejemplo Books.xml. La clase XPathDocument utiliza Extensible Stylesheet Language Transformations (XSLT) para proporcionar una caché rápida y orientada al rendimiento para procesar documentos XML. Es similar a XML Document Object Model (DOM), pero está muy optimizada para procesar XSLT y el modelo de datos XPath.
    'Open the XML.docNav = New XPathDocument("books.xml")					
  6. Crear un objeto XPathNavigator del documento. XPathNavigator permite desplazarse por los nodos de atributos y el nodos de espacio de nombres en un documento XML.
    'Create a navigator to query with XPath.nav = docNav.CreateNavigator					
  7. Vaya a la raíz del documento con el método MoveToRoot . MoveToRoot establece el explorador en el nodo del documento que contiene toda la árbol de nodos.
    'Initial XPathNavigator to start at the root.nav.MoveToRoot()					
  8. Utilice el método MoveToFirstChild para ir a los hijos del documento XML. El método MoveToFirstChild se mueve al primer hijo del nodo actual. En el caso de la fuente del archivo Books.xml, que está moviendo desde el documento raíz en el los niños, la sección comentarios y el nodo librería.
    'Move to the first child node (comment field).nav.MoveToFirstChild()					
  9. Utilice el método MoveToNext para recorrer los nodos en niveles hermanos. El método MoveToNext se mueve al siguiente hermano del nodo actual.
    'Loop through all the root nodes.Do    ...Loop While nav.MoveToNext					
  10. Utilice la propiedad NodeType para asegurarse de que sólo está procesando nodos de elemento, y utilice la propiedad Value para mostrar la representación de texto del 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. Utilice la propiedad HasAttributes para determinar si un nodo tiene atributos. Se puede También puede utilizar otros métodos, como MoveToNextAttribute, para ir a un atributo y examinar su valor. Nota que este segmento de código sólo recorre todos los descendientes del nodo raíz y no el árbol completo.
    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. Utilice el método ReadLine del objeto Console para agregar una pausa al final de la pantalla de la consola más mostrar fácilmente los resultados anteriores.
    'Pause.Console.ReadLine()					
  13. Genere y ejecute el proyecto de aplicación de consola.

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				
Referencias
Para obtener más información, visite el siguiente Web de Microsoft Developer Network (MSDN) sitios: Para obtener más información, visite el siguiente sitio Web de World Wide Web Consortium (W3C):
XML Path Language (XPath)
Versión 1.0: W3C recomendación 16 noviembre 1999
http://www.w3.org/TR/1999/REC-xpath-19991116
explorar dotnet

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 301111 - Última revisión: 07/05/2012 16:24:00 - Revisión: 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 KbMtes
Comentarios