XPathNavigator::NamespaceURI Property
.NET Framework (current version)
When overridden in a derived class, gets the namespace URI of the current node.
Assembly: System.Xml (in System.Xml.dll)
Property Value
Type: System::String^A String that contains the namespace URI of the current node, or String::Empty if the current node has no namespace URI.
The namespace URI returned depends on the XPathNodeType of the current node.
The NamespaceURI property returns urn:samples for the node <bk:book xmlns:bk='urn:samples'>.
Only Element and AttributeXPathNodeType nodes can have a namespace URI.
The following example iterates over the node tree recursively, and displays information about Element and Text nodes.
static void XPathNavigatorMethods_MoveToNext() { XPathDocument^ document = gcnew XPathDocument("books.xml"); XPathNavigator^ navigator = document->CreateNavigator(); XPathNodeIterator^ nodeset = navigator->Select("descendant::book[author/last-name='Melville']"); while (nodeset->MoveNext()) { // Clone iterator here when working with it. RecursiveWalk(nodeset->Current->Clone()); } } static void RecursiveWalk(XPathNavigator^ navigator) { switch (navigator->NodeType) { case XPathNodeType::Element: if (navigator->Prefix == String::Empty) Console::WriteLine("<{0}>", navigator->LocalName); else Console::Write("<{0}:{1}>", navigator->Prefix, navigator->LocalName); Console::WriteLine("\t" + navigator->NamespaceURI); break; case XPathNodeType::Text: Console::WriteLine("\t" + navigator->Value); break; } if (navigator->MoveToFirstChild()) { do { RecursiveWalk(navigator); } while (navigator->MoveToNext()); navigator->MoveToParent(); if (navigator->NodeType == XPathNodeType::Element) Console::WriteLine("</{0}>", navigator->Name); } else { if (navigator->NodeType == XPathNodeType::Element) { Console::WriteLine("</{0}>", navigator->Name); } } }
The example takes the books.xml file as an input.
<?xml version="1.0" encoding="utf-8" ?> <bookstore> <book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0"> <title>The Autobiography of Benjamin Franklin</title> <author> <first-name>Benjamin</first-name> <last-name>Franklin</last-name> </author> <price>8.99</price> </book> <book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2"> <title>The Confidence Man</title> <author> <first-name>Herman</first-name> <last-name>Melville</last-name> </author> <price>11.99</price> </book> <book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6"> <title>The Gorgias</title> <author> <name>Plato</name> </author> <price>9.99</price> </book> </bookstore>
.NET Framework
Available since 1.1
Silverlight
Available since 4.0
Available since 1.1
Silverlight
Available since 4.0
Show: