如何在C#中关闭XMLDocument

时间:2017-01-09 08:34:50

标签: c# sql asp.net .net

我正在将XML文件中的信息导入SQL数据库。导入工作正常但一些XML文件中有错误,因此代码失败。我捕获异常并尝试将文件移动到错误文件夹但是因为我之前从文件中读取,我得到一个错误,说该文件正由另一个进程使用。我已经搜索过,但还没有找到任何方法来解决这个问题。我尝试保存文档,但在我尝试移动时仍在使用中,下面是我尝试移动文件以供参考的代码示例。关于如何解决这个问题的任何建议都会很棒,并且事先要感谢这些信息。

XmlDocument doc = new XmlDocument();
try
{
    doc.Load(st);
}
catch(Exception ex)
{
    doc.Save(st);
    if (File.Exists(st))
        File.Move(st, st + "\\Error");
}

1 个答案:

答案 0 :(得分:0)

尝试

XmlDocument doc = new XmlDocument();
try
{
    doc.Load(st);
}
catch(Exception ex)
{
    //doc.Save(st);                      -- why do you need to save a file that exists?
    //if (File.Exists(st))               -- it returns always true
    //    File.Move(st, st + "\\Error"); -- wrong path

    File.Move(st, Path.Combine("C:\\Error", Path.GetFileName(st)));
}