The following example displays all book titles. The XmlNamespaceManager resolves the default namespace in the XPath expression.
Imports System
Imports System.IO
Imports System.Xml
Public Class Sample
Public Shared Sub Main()
Dim doc As XmlDocument = New XmlDocument()
doc.Load("newbooks.xml")
' Create an XmlNamespaceManager for to resolve the default namespace.
Dim nsmgr As XmlNamespaceManager = New XmlNamespaceManager(doc.NameTable)
nsmgr.AddNamespace("bk", "urn:newbooks-schema")
' Select and display all book titles.
Dim nodeList As XmlNodeList
Dim root As XmlElement = doc.DocumentElement
nodeList = root.SelectNodes("/bk:bookstore/bk:book/bk:title", nsmgr)
Dim title as XmlNode
For Each title In nodeList
Console.WriteLine(title.InnerXml)
Next
End Sub
End Class
using System;
using System.IO;
using System.Xml;
public class Sample
{
public static void Main()
{
XmlDocument doc = new XmlDocument();
doc.Load("newbooks.xml");
// Create an XmlNamespaceManager to resolve the default namespace.
XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);
nsmgr.AddNamespace("bk", "urn:newbooks-schema");
// Select and display all book titles.
XmlNodeList nodeList;
XmlElement root = doc.DocumentElement;
nodeList = root.SelectNodes("/bk:bookstore/bk:book/bk:title", nsmgr);
foreach (XmlNode title in nodeList) {
Console.WriteLine(title.InnerXml);
}
}
}
#using <System.Xml.dll>
using namespace System;
using namespace System::IO;
using namespace System::Xml;
int main()
{
XmlDocument^ doc = gcnew XmlDocument;
doc->Load( L"newbooks.xml" );
// Create an XmlNamespaceManager to resolve the default namespace.
XmlNamespaceManager^ nsmgr = gcnew XmlNamespaceManager( doc->NameTable );
nsmgr->AddNamespace( L"bk", L"urn:newbooks-schema" );
// Select and display all book titles.
XmlNodeList^ nodeList;
XmlElement^ root = doc->DocumentElement;
nodeList = root->SelectNodes( L"/bk:bookstore/bk:book/bk:title", nsmgr );
System::Collections::IEnumerator^ myEnum = nodeList->GetEnumerator();
while ( myEnum->MoveNext() )
{
XmlNode^ title = safe_cast<XmlNode^>(myEnum->Current);
Console::WriteLine( title->InnerXml );
}
return 1;
}
The example uses the file, newbooks.xml, as input.
<?xml version='1.0'?>
<bookstore xmlns="urn:newbooks-schema">
<book genre="novel" style="hardcover">
<title>The Handmaid's Tale</title>
<author>
<first-name>Margaret</first-name>
<last-name>Atwood</last-name>
</author>
<price>19.95</price>
</book>
<book genre="novel" style="other">
<title>The Poisonwood Bible</title>
<author>
<first-name>Barbara</first-name>
<last-name>Kingsolver</last-name>
</author>
<price>11.99</price>
</book>
</bookstore>