我使用以下代码修改可以从多个进程使用的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);
这是对的吗?还有更好的方法吗?
答案 0 :(得分:1)
保存已覆盖,您无需致电Seek。
你在使用XElement做什么?
new XElement(new XElement("PoolId", "A91"));
可以阅读
new XElement("PoolId", "A91");