XPathResultType.NodeSet
Imports System Imports System.Xml Imports System.Xml.XPath Public Class MainClass Public Shared Sub Main() Dim document As XPathDocument = New XPathDocument("contosoBooks.xml") Dim navigator As XPathNavigator = document.CreateNavigator() Dim expression1 As XPathExpression = XPathExpression.Compile(".//bk:price/text()*10") ' Returns a number. Dim expression2 As XPathExpression = XPathExpression.Compile("bk:bookstore/bk:book/bk:price") ' Returns a nodeset. Dim manager As XmlNamespaceManager = New XmlNamespaceManager(navigator.NameTable) manager.AddNamespace("bk", "http://www.yourname.com/books") expression1.SetContext(manager) expression2.SetContext(manager) Evaluate(expression1, navigator) Evaluate(expression2, navigator) End Sub Public Shared Sub Evaluate(ByVal expression As XPathExpression, ByVal navigator As XPathNavigator) Select Case expression.ReturnType Case XPathResultType.NodeSet Dim nodes As XPathNodeIterator = navigator.Select(expression) While nodes.MoveNext() Console.WriteLine(nodes.Current.ToString()) End While End Select End Sub End Class '<bookstore xmlns="http://www.yourname.com/books"> ' <book genre="autobiography" publicationdate="1999-12-12" ISBN="1-111111-11-1"> ' <title>A</title> ' <author> ' <first-name>X</first-name> ' <last-name>Y</last-name> ' </author> ' <price>8.99</price> ' </book> ' <book genre="novel" publicationdate="2000-01-01" ISBN="0-201-63361-2"> ' <title>Java</title> ' <author> ' <first-name>Q</first-name> ' <last-name>Q</last-name> ' </author> ' <price>11.99</price> ' </book> ' <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6"> ' <title>C#</title> ' <author> ' <name>Author</name> ' </author> ' <price>9.99</price> ' </book> '</bookstore>