1 - Importar los siguientes espacios de nombres
Imports System.Xml
Imports System.Xml.XPath
2 - Declarar XPathDocument para contener el documento XML, un objeto XpathNavigator para evaluar las expresiones XPath y un objeto XPathNodeIterator para recorrer los nodos seleccionados. Declare un objeto String para contener las expresiones XPath.
Dim nav As XPathNavigator
Dim docNav As XPathDocument
Dim NodeIter As XPathNodeIterator
Dim strExpression As String
3 - Abrir el fichero xml
docNav = New XPathDocument("books.xml")
4 - Crear un XPathNavigator a partir del documento
nav = docNav.CreateNavigator
5 - Guardar en la variable string la expresión Xpath a evaluar y ejecutar esa expresión.
strExpression = "/bookstore/book/title[../price>10.00]"
NodeIter = nav.Select(strExpression)
6 - Recorrernos los nodos para ver los resultados (o el resultado, si solo hay uno)
While (NodeIter.MoveNext())
Console.WriteLine("Book Title: {0}", NodeIter.Current.Value)
End While
En realidad este ejemplo es mucho más sencillo de lo que parece (y más corto). Aquí os pongo otro ejemplillo en unas pocas líneas:
Dim nav As XPathNavigator
Dim docNav As XPathDocument
Dim NodeIter As XPathNodeIterator
Dim strExpression As String
'Abrimos el xml
docNav = New XPathDocument("mifichero.xml")
'Creamos el navegador para consultar con XPath.
nav = docNav.CreateNavigator
'Expresión de búsqueda XPath
strExpression = ""//datos/registro[contains(.,'prueba')]"
'Consultamos
NodeIter = nav.Select(strExpression)
If NodeIter.Count > 0 Then
While NodeIter.MoveNext()
messagebox.show(NodeIter.Current.Value)
End While
Else
'No se ha encontrado
MessageBox.Show("no encontrado")
End If
Fuente Microsoft
No hay comentarios:
Publicar un comentario