如何遍历路径并获取目录中文件的名称?

时间:2015-07-10 10:22:40

标签: c# xml

这是我无法获取代码的内容。我有一个类似下面的xml:

<Root> 
    <MainFolder Name="Main Folder">
        <Folder Name="Folder1">
            <File Name="File1" />
        </Folder>
        <Folder Name="Folder2">
            <File Name="File2" />
        </Folder>
    </MainFolder>
</Root>

现在,从我的代码中,我知道File1的位置。现在,这就是我想要实现的目标:

  1. 从File1的位置返回2级,即主文件夹。
  2. 从那里将该文件夹中的每个文件夹和文件显示给用户。
  3. 伙计们,我是C#的新手。我真的不知道如何处理它。任何帮助都非常有用。提前谢谢。

1 个答案:

答案 0 :(得分:0)

XElement root = XElement.Load("file.xml");

// look for a File1
var file1 = root.Descendants()
    .Where(elem => elem.Attribute("Name").Value == "File1")
    .Single();

// go 2 levels back
var mainFolder = file1.Parent.Parent;

// display each folder
foreach (var folder in mainFolder.Elements())
{
    Console.WriteLine(folder.Attribute("Name").Value);

    // display each file
    foreach (var file in folder.Elements())
    {
        Console.WriteLine("  " + file.Attribute("Name").Value);
    }
    Console.WriteLine();
}
相关问题