Mega Code Archive

 
Categories / VB.Net / XML
 

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>