This documentation is archived and is not being maintained.

XPathNavigator.MoveToFirstNamespace Method (XPathNamespaceScope)

When overridden in a derived class, moves the XPathNavigator to the first namespace node that matches the XPathNamespaceScope specified.

Namespace:  System.Xml.XPath
Assembly:  System.Xml (in System.Xml.dll)

public abstract bool MoveToFirstNamespace(
	XPathNamespaceScope namespaceScope


Type: System.Xml.XPath.XPathNamespaceScope
An XPathNamespaceScope value describing the namespace scope.

Return Value

Type: System.Boolean
Returns true if the XPathNavigator is successful moving to the first namespace node; otherwise, false. If false, the position of the XPathNavigator is unchanged.

The XPathNavigator class returns namespace nodes in reverse document order. Therefore, MoveToFirstNamespace essentially moves to the last namespace node in the current scope.

Using the following XML fragment as an example, if the XPathNavigator is positioned on the data node, MoveToFirstNamespace behaves in the following manner.

  • MoveToFirstNamespace(XPathNamespaceScope.All) moves to one of the following namespace nodes: xmlns:c='C', xmlns:a='A2', xmlns='', xmlns:b='B', or xmlns:xml=''.

  • MoveToFirstNamespace(XPathNamespaceScope.ExcludeXml) moves to one of the following namespace nodes: xmlns:c='C', xmlns:a='A2', xmlns='', or xmlns:b='B'.

  • MoveToFirstNamespace(XPathNamespaceScope.Local) moves to the xmlns:c='C' node.

<root xmlns='urn:default' xmlns:a='A1' xmlns:b='B'>
    <item xmlns='' xmlns:a='A2'>
        <data xmlns:c='C' />

If the XPathNavigator is not currently positioned on an element, this method returns false and the position of the XPathNavigator does not change. After the XPathNavigator has been moved to the namespace node, the Name property reflects the name of the namespace.

When the XPathNavigator is positioned on a namespace node, the methods MoveToNext, MoveToPrevious, and MoveToFirst are not applicable. These methods always return false and do not change the position of the XPathNavigator. Rather, you can call MoveToNextNamespace to move to the next namespace node.

After the XPathNavigator is positioned on an namespace node, call MoveToParent to move back to the element node.

For a definition of namespace nodes, see section 5.4 of the W3C XML Path Language (XPath) recommendation located at

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.