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

问题描述:

我对c#语言还不熟悉。我想编写代码,以便它可以读取父文件夹及其子文件夹中的文件类型xml等特定文件。如何读取父文件夹和子文件夹中的特定文件(.xml)

我试过了我在堆栈上搜索的几个代码,它的工作原理。这里的问题只在父文件夹中读取xml文件,而不是在子文件夹中。

实施例:

我有一个文件夹(d:\数据)和内部“数据”文件夹具有另一个文件夹是“输入”文件夹中。这两个文件夹都会有xml文件。

该代码将只读取'data'文件夹中的xml文件,而不是'input'文件夹。

我希望它读取所有的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

.NET有方法可以得到一个目录下的子文件夹,列表文件名等。请在你所需要的一些研究。对“c#get子目录”的简单Google搜索为我提供了足够的帮助。 –

Directory.EnumerateFiles,如图here,接受不正是你需要的参数(第三个也是最后一个)。

如果没有参数传递,只会通过传递SearchOption.AllDirectories作为最后一个参数来搜索*目录,搜索也会包含所有的子目录。

例子:

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

我会在稍后添加代码。我现在在外面并使用应用来回复您的评论。 – mhalwi

+0

我添加了上面的代码.. – mhalwi

+0

我编辑了我的答案... – r41n