【问题标题】:Open XML file as read-only with LINQ使用 LINQ 以只读方式打开 XML 文件
【发布时间】:2013-07-26 02:50:37
【问题描述】:

我需要打开 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();

【问题讨论】:

    标签: xml linq-to-xml readonly


    【解决方案1】:

    您可以按照类似于Is there a way to create an immutable (read-only) XDocument? 中详述的ReadOnlyXElement 模式的模式包装XDocument 对象

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

    【讨论】:

      猜你喜欢
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-22
      • 1970-01-01
      • 2018-11-29
      • 1970-01-01
      相关资源
      最近更新 更多