C#:LINQ to XML显示XML文件中的特定节点属性值

C#:LINQ to XML显示XML文件中的特定节点属性值,c#,xml,linq,C#,Xml,Linq,第一个也是最重要的请求是,如果您发现这是一个重复的请求,请引导我到正确的页面 我尝试了一些解决办法,但没有一个奏效。也许我在做些傻事。不管怎样,我有点事要做 以下是我的XML格式: <Root> <MainFolder Name="Main"> <Folder Name="Folder1"> <Folder Name="SubFolder1"> <File /> &

第一个也是最重要的请求是,如果您发现这是一个重复的请求,请引导我到正确的页面

我尝试了一些解决办法,但没有一个奏效。也许我在做些傻事。不管怎样,我有点事要做

以下是我的XML格式:

<Root>
<MainFolder Name="Main">
    <Folder Name="Folder1">
        <Folder Name="SubFolder1">
            <File />
            <Folder Name="SubFolder2">
            </Folder>
        </Folder>
    </Folder>
    <Folder Name="Folder2">
        <Folder Name="SubFolder3">
            <File />
        </Folder>
    </Folder>
</MainFolder>
</Root>

如果你们需要更多信息,请告诉我

根据上面对
根的定义,应该这样做:

foreach (var folderElement in root.Descendants("Folder"))
{
    Console.WriteLine(folderElement.Attribute("Name").Value);
}
子体()
按文档顺序列出所有子体元素(即不只是立即的)



如果您只需要所有的名称,那么只需执行
mainFolder.substands(“Folder”)
即可,而不必执行
maindFolder.Elements(“Folder”)
(只接受直接子项)@Raphael。谢谢你,伙计。它有效。:)@冬哑巴。是的,这几乎是你提到的问题的翻版。我把它标为复制品。谢谢。:)非常感谢。我简直不敢相信事情会这么简单。不管怎样,我每天都在学习一些新的东西来提高我对C的掌握。这将为今天添加:)
foreach (var folderElement in root.Descendants("Folder"))
{
    Console.WriteLine(folderElement.Attribute("Name").Value);
}
Folder1
SubFolder1
SubFolder2
Folder2
SubFolder3
Press any key to continue . . .