如何正确打开FileStream以与XDocument一起使用

我想使用Linq2XML将一些节点附加到xml文档。 有问题的文件正由其他进程使用,他们应该能够在我更新文件时读取该文件。 所以我提出了这个解决方案,这显然不是正确的方法(方法doc.Save()失败并说另一个进程正在使用该文件):

using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.ReadWrite, FileShare.Read)) { doc = XDocument.Load(new StreamReader(fs)); doc.Root.Add(entry); doc.Save(filename); fs.Close(); } 

任何帮助都非常有用。

加载文档,关闭流,再次保存。 这也意味着你可以用更简单的方式打开它:)

 XDocument doc; using (StreamReader reader = File.OpenText(filename)) { doc = XDocument.Load(reader); doc.Root.Add(entry); } doc.Save(filename);