XContainer.Descendants Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Returns a collection of the descendant elements for this document or element, in document order.
Namespace: System.Xml.Linq
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
Syntax
'Declaration
Public Function Descendants As IEnumerable(Of XElement)
public IEnumerable<XElement> Descendants()
Return Value
Type: System.Collections.Generic.IEnumerable<XElement>
An IEnumerable<T> of XElement containing the descendant elements of the XContainer.
Remarks
Note that this method will not return itself in the resulting IEnumerable<T>. See DescendantsAndSelf if you need to include the current XElement in the results.
This method uses deferred execution.
Examples
The following example creates an XML tree, and then uses this axis method to retrieve the descendants.
Dim output As New StringBuilder
' Attributes are not nodes, so will not be returned by DescendantNodes.
Dim xmlTree As XElement = _
<Root Att1="AttributeContent">
<Child>Some text
<GrandChild>element content</GrandChild>
</Child>
</Root>
Dim de = From el In xmlTree.Descendants _
Select el
For Each el In de
output.Append(el.Name)
output.Append(Environment.NewLine)
Next
OutputTextBlock.Text = output.ToString()
StringBuilder output = new StringBuilder();
XElement xmlTree = new XElement("Root",
new XAttribute("Att1", "AttributeContent"),
new XElement("Child",
new XText("Some text"),
new XElement("GrandChild", "element content")
)
);
IEnumerable<XElement> de =
from el in xmlTree.Descendants()
select el;
foreach (XElement el in de)
output.Append(el.Name + 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