我正在使用以下代码来修改可以从多个进程中使用的 XML 文件
using (FileStream fs = new FileStream(path, FileMode.Open, FileAccess.ReadWrite, FileShare.Read))
{
var d = XDocument.Load(fs);
d.Descendants("TestNode").FirstOrDefault().Descendants("MyInfo").FirstOrDefault().Attribute("Id").Value = "Tested Successfully";
XElement x1 = new XElement(new XElement("PoolId", "A91"));
d.Root.Add(x1);
fs.Seek(0, SeekOrigin.Begin);
d.Save(fs);
}
此方法位于 LOCK 对象内部。
现在,我总是想覆盖 XML 文件的内容,所以我使用了
fs.Seek(0, SeekOrigin.Begin);
这是正确的吗?有没有更好的办法?