XPathNavigator.Prefix Property
[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
When overridden in a derived class, gets the namespace prefix associated with the current node.
Namespace: System.Xml.XPath
Assembly: System.Xml (in System.Xml.dll)
The Prefix property gets the namespace prefix associated with the current node. For example, the Prefix property returns bk for the <bk:book> element. If a prefix does not exist, or the XPathNodeType of the current node is not Element or Attribute, the Prefix property returns String.Empty.
The following example iterates over the node tree recursively, and displays information about Element and Text nodes.
static void XPathNavigatorMethods_MoveToNext() { XPathDocument document = new 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()); } } public 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>
Windows 8 Consumer Preview, Windows Server 8 Beta, Windows 7, Windows Server 2008 SP2, Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.