【发布时间】:2015-05-11 06:42:55
【问题描述】:
如何以只读模式加载 XML 文档?
我有一个在另一个进程中打开的 XML 文件,我想将它以只读方式加载到我的 C# 应用程序中。
XmlDocument.Load("file.xml") 显然会抛出这个错误:
进程无法访问文件,因为它正在被另一个文件使用 进程
所以我也尝试了流式阅读器:
FileStream fs = new FileStream("file.xml", FileMode.Open, FileAccess.Read);
xmldoc.Load(fs);
但它也会引发同样的错误。 那么如何以只读模式访问我的 XML 文档呢?
更新
我也试过XPathDocument 和FileStream("file.xml", FileMode.Open, FileAccess.Read,FileShare.Read)。但他们都没有解决问题。
【问题讨论】:
-
其他进程做什么?如果该进程正在写入 XML 文档,那么就会有锁。
-
@Amit 它正在 Microsoft Word 中打开。但是当我试图打开文件时它并没有写进去
-
尝试使用 new FileStream("file.xml", FileMode.Open, FileAccess.Read, FileShare.Read);
-
@Amit 仍然抛出同样的错误
-
如果我在记事本中打开 xml 文档,上面的代码同时使用写字板。可能对代码有更深入的了解会有所帮助。
标签: c# xml file-access