2011-03-23 61 views
4

存在一个问题,其中XML Document.Save导致进程无法访问该文件的错误,因为它正在被另一个进程或语句一个无效的XML文档。我认为这是因为在操作完成后我不会处理XML文档对象。是否可以执行此操作。是否有解决方法?如何在ASP.NET中处理或关闭XML文档的实例

+0

如何你现在访问它,你可以张贴代码 – V4Vendetta 2011-03-23 08:56:34

+0

你必须张贴一些代码,使人们可以获取有关的一些想法。 – 2011-03-23 08:56:52

回答

4

这取决于您正在使用的方法的哪种超载。如果你直接传递一个文件名作为字符串,不应该有问题。如果你传递一个流或XmlWriter的,你需要确保它被妥善处置:

using (Stream stream = ...) 
{ 
    doc.Save(stream); 
} 
+0

看来,我有一个问题,也许你能告诉我它是什么: 使用(XmlWriter的XW = XmlWriter.Create(新的FileStream(this.FilePath,FileMode.Create),xwSettings)) \t \t \t { \t \t \t \t XmlDocument.WriteTo(xw); \t \t \t} 此代码似乎不起作用,因为如果我尝试直接加载相同的文件后,我得到异常“已被使用” – SharpNoiZy 2016-02-24 10:09:11

3

XmlDocument以及更新的XDocument是XML文档的内存中表示,因此您无需关闭它们。

也许您正在使用底层的Stream或类似文件来阅读文档,那是什么需要关闭?没有更多的背景,几乎不可能回答。