我想使用C#逐个加载所有xml文件。并且所有文件都在同一目录下。 你能给我一些样品吗?
由于 SUT
答案 0 :(得分:9)
只需从内存中输入此内容,但这样做会让我相信:
DirectoryInfo di = new DirectoryInfo(PathToYourFolder);
foreach (FileInfo fi in di.GetFiles("*.xml"))
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(fi.FullName);
}
如果您确实需要进入子文件夹,请进行此更改:
foreach (FileInfo fi in di.GetFiles("*.xml", SearchOption.AllDirectories))
答案 1 :(得分:2)
我不确定你对“1比1”的意思,但我想这就是你要找的。 p>
var xmls = Directory.GetFiles(myPath, "*.xml", SearchOption.AllDirectories);
foreach (var file in xmls )
{
using (var fileStream = new FileStream(file, FileMode.Open))
{
using (var reader = new StreamReader(fileStream))
{
reader.BaseStream.Seek(0, SeekOrigin.Begin);
fileContent = reader.ReadToEnd();
}
}
}
xmls
是myPath
中的所有文件,也是所有子文件夹中的所有文件,通过SearchOption,您可以定义是否需要所有文件或仅需要TopLevel文件。接下来,一个fileStream用于查找找到的文件的eeech,并使用流阅读器来读取整个内容。