如何读取父文件夹和子文件夹中的特定文件(.xml)

时间:2017-09-14 13:58:27

标签: c#

我还是c#语言的新手。我想编写代码,以便它可以读取父文件夹及其子文件夹中的xml文件类型等特定文件。

我已经尝试了几个我在堆栈上搜索的代码并且它可以工作。这里的问题只是只读取父文件夹中的xml文件而不是子文件夹中的文件。

示例:

我有一个文件夹(D:\ data)和里面的数据'文件夹它有另一个文件夹,输入'夹。这两个文件夹都有xml文件。

代码只会读取'数据'中的xml文件。文件夹而不是'输入'文件夹中。

我想让它读取所有可用文件夹中的所有xml文件'数据'文件夹包含'数据'

中的文件

有人可以给我一些链接或暗示如何编码。你的帮助非常感谢!

示例代码:

static void Main(string[] args)
{
    String folderpath = @"d:\data";

    foreach (string file in Directory.EnumerateFiles(folderpath, "*.xml"))
    {
        string contents = File.ReadAllText(file);
        Console.WriteLine(contents)
    }
}

1 个答案:

答案 0 :(得分:0)

Directory.EnumerateFiles,如here所示,接受一个完全符合您需要的参数(第三个和最后一个)。

如果没有传递参数,则只搜索顶级目录,通过传递SearchOption.AllDirectories作为最后一个参数,搜索也将包括所有子目录。

示例:

foreach (string file in Directory.EnumerateFiles(folderpath, "*.xml", SearchOption.AllDirectories))
{
    string contents = File.ReadAllText(file);
    Console.WriteLine(contents)
}