我必须从物理位置读取任何xml文件。 我正在以下方式做,但是,它说现在找到了文件。
示例,我可以有任何文件(a.xml,b.xml,c.xml,..... z.xml)
所以我想使用一个通用代码来读取xml。
有任何帮助吗? 谢谢
答案 0 :(得分:2)
Load()
的参数应该是单个文件。您可以迭代一组文件来打开文档。
static void Main(string[] args)
{
const string folder = "C:\\";
// Loop trough all
foreach (var file in Directory.EnumerateFiles(folder, "*.xml"))
{
var document = XDocument.Load(file);
}
// When it should explicitly be one
var singleFile = Directory.GetFiles(folder, "*.xml").SingleOrDefault();
if (singleFile == null) throw new Exception("File missing or multiple files found");
var document = XDocument.Load(singleFile);
}
答案 1 :(得分:2)
由于您使用vb.net
标记此帖子,因此这是一个vb答案。
Dim fileList as new List(of FileInfo)
dim basepath as string = "drive:\path\to\base\folder"
fileList = new IO.DirectoryInfo(basepath).GetFiles("*.xml")
For each fle in fileList
Dim xDoc = XDocument.Load(fle.FullName)
objIntegrationInfo.xmlstring += xDoc.ToString()
Next