Я не уверен, что вы имеете в виду под "1 на 1", но я думаю, это то, что вы ищете.
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 - это открытый файл для каждого найденного файла, а для чтения всего содержимого используется потоковый ридер.