如何使用XDocument.Load(路径)一次从多个文件夹加载多个XML文件?
我想要这样,以便我可以在网页中显示每个XML文件。
文件结构类似于XMLFiles - >年 - >月份 - > files.XML。我希望他们一次加载。
我正在使用带有MVC 4的Visual Studio 2013。
答案 0 :(得分:1)
我认为这个代码没有@ har07那么多,但它是一样的:
string mainPath = "path where you have all xml"
string[] paths = Directory.GetFiles(mainPath, "search pattern as you need", SearchOption.AllDirectories);
foreach(var path in paths){
XDocument xDoc = XDocument.Load(path);
//something you want to do with xml
}
我认为你不会找到另一种解决方案。
答案 1 :(得分:0)
您可以修改评论中链接的问题的答案,如下所示:
string xmlFiles = "path_to_XMLFiles_folder/XMLFiles";
//get all folders within XMLFiles folder. the years
string[] files = Directory.GetDirectories(xmlFiles)
//get all folders within each year. the months
.SelectMany(Directory.GetDirectories)
//get all files within each montsh.
.SelectMany(Directory.GetFiles)
.Where(f => f.EndsWith(".xml"))
.ToArray();
foreach(var path in files)
{
XDocument xDoc = XDocument.Load(path);
//process each XML file
}
我不确定这是否符合您的最终目标,但无论如何,这就是您在评论中提出的问题。