views:

67

answers:

1

For an XDocument descendants operation how can only return immediate child nodes?

I have an operation along the lines of:

XDocument xmlDc = XDocument.Load(dependencyFilePath);    
IEnumerable<IGrouping<string, XElement>> scriptNodes = 
from s in xmlDc.Descendants("script") select s;

The problem is my XML doc is structured as follows

<topNode>
 <script>
    <someNode>...</someNode>
    <script>....</script>
 </script>
</topNode>

Essentially, script tags can have child scrip tags, but when I do Descendents, I only want to retrieve immediate child node, not grandchild script nodes.

Is this possible with XDocument? Can I use a predicate to somehow check if a potential selectee has for parent the node I am checking from to accomplish this?

+2  A: 

I think Elements("script") would do the trick, instead of Descendants("script")

IanR
I didn't even see that before asking, and I looked too :-) Thanks!
Matt