使用LINQ以只读方式打开XML文件

时间:2013-07-26 02:50:38

标签: xml linq-to-xml readonly

我需要打开和XML文件。要求是能够以只读方式打开它,也可以以读写方式打开它。

我尝试了下面的代码,但到目前为止,我仍然可以写入该文件。

var myFileStream = new FileStream(@"XMLFile.xml",FileMode.Open, FileAccess.Read, FileShare.Read);

var Reader = XmlReader.Create(myFileStream);
var XDoc = XDocument.Load(Reader, LoadOptions.PreserveWhitespace);
myFileStream.Close();

1 个答案:

答案 0 :(得分:0)

您可以按照与Is there a way to create an immutable (read-only) XDocument?

中详述的XDocument模式类似的模式包装ReadOnlyXElement对象

为了满足读写要求,如果你有一个ReadOnlyXDocument包装类,我也很想创建一个ReadWriteXDocument包装器,而不是直接使用XDocument。这样,只读/读写区别对于任何消费代码都是显而易见的。