Asp.net 如何通过LINQ获得一级儿童

Asp.net 如何通过LINQ获得一级儿童,asp.net,xml,linq,Asp.net,Xml,Linq,我有这样的XMl <root> <list> <list> <topic></topic> <topic></topic> </list> <topic></topic> <topic></topic> </list>

我有这样的XMl

<root>
    <list>
        <list>
            <topic></topic>
            <topic></topic>
        </list>
        <topic></topic>
        <topic></topic>
    </list>
    <topic></topic>
    <topic></topic>
    <topic></topic>
</root>
但它会返回所有主题和列表


请帮忙!:)

只要
document.Root.Elements()
就可以了


基本上是递归的,而只得到直接的子项。

@Jon Skeet-你是说“Document.Root.Elements()”而不是“Document.RootElement.Elements()”?@Jon Skeet不管怎样,你的回答都帮了我。。。谢谢大家!+1 :)
<list></list>
<topic></topic>
<topic></topic>
<topic></topic>
var list = x.Descendants().Where(e => e.Name == "list" || e.Name == "topic");