Reputation: 3784
How do I get just the children of an XElement?
I am currently using the XElement.Descendants() function, which returns all levels of XElements, rather than just the child nodes.
What I would really like is an IEnumerable of just the children.
Upvotes: 71
Views: 57936
Reputation: 44307
The immediate child elements of one XElement are accessible by calling the Element()
or Elements()
functions. Use the overloads with a name to access specific elements, or without to access all child elements.
There are also similar methods like Attribute()
and Attributes()
that you might find useful.
Upvotes: 114
Reputation: 26599
XElement.Nodes() should get you what you want.
If you just want the XElement child nodes then you might need to restrict it (depending on your XML) with:
XElement.Nodes().OfType<XElement>()
Upvotes: 13