Superman
Superman

Reputation: 3784

Children of XElement

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

Answers (3)

Bevan
Bevan

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

Steven Robbins
Steven Robbins

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

tvanfosson
tvanfosson

Reputation: 532465

XElement.Nodes

Upvotes: 4

Related Questions