Extensions::AncestorsAndSelf Method (IEnumerable<XElement^>^, XName^)
Returns a filtered collection of elements that contains every element in the source collection, and the ancestors of every element in the source collection. Only elements that have a matching XName are included in the collection.
Assembly: System.Xml.Linq (in System.Xml.Linq.dll)
public: [ExtensionAttribute] static IEnumerable<XElement^>^ AncestorsAndSelf( IEnumerable<XElement^>^ source, XName^ name )
Parameters
- source
-
Type:
System.Collections.Generic::IEnumerable<XElement^>^
An IEnumerable<T> of XElement that contains the source collection.
- name
-
Type:
System.Xml.Linq::XName^
The XName to match.
Return Value
Type: System.Collections.Generic::IEnumerable<XElement^>^An IEnumerable<T> of XElement that contains every element in the source collection, and the ancestors of every element in the source collection. Only elements that have a matching XName are included in the collection.
If multiple nodes in the source collection have the same ancestor with a matching XName, the ancestor will be included multiple times in the result collection.
This method uses deferred execution.
The following example retrieves a collection of the great grandchildren elements. It then uses this axis method to retrieve all self and ancestors of all elements in the collection that match a specified XName.
This example produces the following output:
Great Grand Children Elements ---- GreatGrandChild1 GreatGrandChild2 Ancestors and Self ---- GreatGrandChild1
The following is the same example, but in this case the XML is in a namespace. For more information, see Working with XML Namespaces.
This example produces the following output:
Great Grand Children Elements
----
{http://www.adventure-works.com}GreatGrandChild1
{http://www.adventure-works.com}GreatGrandChild2
Ancestors and Self
----
{http://www.adventure-works.com}GreatGrandChild1
Available since 8
.NET Framework
Available since 3.5
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1