从物理位置读取任何xml

时间:2014-06-17 15:49:17

标签: c# asp.net .net vb.net

我必须从物理位置读取任何xml文件。 我正在以下方式做,但是,它说现在找到了文件。

示例,我可以有任何文件(a.xml,b.xml,c.xml,..... z.xml)
所以我想使用一个通用代码来读取xml。

有任何帮助吗? 谢谢

2 个答案:

答案 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