如何通过LINQ获得第一级孩子

pod*_*eig 16 xml linq asp.net

我有这样的XMl

<root>
    <list>
        <list>
            <topic></topic>
            <topic></topic>
        </list>
        <topic></topic>
        <topic></topic>
    </list>
    <topic></topic>
    <topic></topic>
    <topic></topic>
</root>
Run Code Online (Sandbox Code Playgroud)

我需要得到第一级孩子:

<list></list>
<topic></topic>
<topic></topic>
<topic></topic>
Run Code Online (Sandbox Code Playgroud)

我试着这样做

var list = x.Descendants().Where(e => e.Name == "list" || e.Name == "topic");
Run Code Online (Sandbox Code Playgroud)

但它返回所有主题和列表.

请帮忙!:)

Jon*_*eet 39

只是document.Root.Elements()应该工作.

基本上是Descendants()recurses,而Elements()只是直接的孩子.