This documentation is archived and is not being maintained.

XPathNavigator.SelectDescendants Method (String, String, Boolean)

Selects all the descendant nodes of the current node with the local name and namespace URI specified.

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

public virtual XPathNodeIterator SelectDescendants(
	string name,
	string namespaceURI,
	bool matchSelf


Type: System.String
The local name of the descendant nodes.
Type: System.String
The namespace URI of the descendant nodes.
Type: System.Boolean
true to include the context node in the selection; otherwise, false.

Return Value

Type: System.Xml.XPath.XPathNodeIterator
An XPathNodeIterator that contains the selected nodes.


null cannot be passed as a parameter.

If String.Empty is specified as the name parameter, all descendant nodes that belong to the specified namespace URI are selected. If String.Empty is specified as the namespaceURI parameter, all descendant nodes with the specified local name that belong to no namespace are selected. If both the local name and namespace URI parameters are String.Empty, all descendant nodes that belong to no namespace are selected.

A descendant is a child or a child of a child and so on; thus the selected nodes will never contain attribute or namespace nodes.

The SelectDescendants method has no effect on the state of the XPathNavigator.

For an example of selecting ancestor, child, and descendant nodes, see SelectAncestors.

.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.