XElement.DescendantNodesAndSelf Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Returns a collection of nodes that contain this element, and all descendant nodes of this element, in document order.
Namespace: System.Xml.Linq
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
Syntax
'Declaration
Public Function DescendantNodesAndSelf As IEnumerable(Of XNode)
public IEnumerable<XNode> DescendantNodesAndSelf()
Return Value
Type: System.Collections.Generic.IEnumerable<XNode>
An IEnumerable<T> of XNode that contain this element, and all descendant nodes of this element, in document order.
Remarks
This method uses deferred execution.
Examples
The following example creates an XML tree, and then uses this axis method.
Dim output As New StringBuilder
Dim xmlTree As XElement = _
<Root Att1="AttributeContent">
<Child>Some text<GrandChild>element content</GrandChild>
</Child>
</Root>
Dim dnas As IEnumerable(Of XNode) = _
From node In xmlTree.DescendantNodesAndSelf() _
Select node
For Each node In dnas
If TypeOf node Is XElement Then
output.Append(DirectCast(node, XElement).Name)
output.Append(Environment.NewLine)
Else
output.Append(node)
output.Append(Environment.NewLine)
End If
Next
OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
XElement xmlTree = new XElement("Root",
// Attributes are not nodes, so will not be returned by DescendantNodesAndSelf.
new XAttribute("Att1", "AttributeContent"),
new XElement("Child",
new XText("Some text"),
new XElement("GrandChild", "element content")
)
);
IEnumerable<XNode> dnas =
from node in xmlTree.DescendantNodesAndSelf()
select node;
foreach (XNode node in dnas)
{
if (node is XElement)
output.Append((node as XElement).Name + Environment.NewLine);
else
output.Append(node + Environment.NewLine);
}
OutputTextBlock.Text = output.ToString();
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
See Also