The Elements operator can be called on a sequence of elements or documents and returns a sequence of elements containing each source element's or document's child elements.
This operator is different than the Descendants operator, because the Elements operator only returns the immediate child elements of each element in the source sequence of elements, whereas the Descendants operator recursively returns all child elements until the end of each tree is reached.
The Elements operator has two prototypes.
public static IEnumerable<XElement> Elements<T> ( this IEnumerable<T> source ) where T : XContainer
This version is called on a sequence of elements or documents and returns a sequence ...