【发布时间】:2021-09-19 13:02:26
【问题描述】:
如何读取 XML 文件并编辑和保存同一个文件?我得到的问题是'文件正在使用'显然是因为我正在阅读它。我是不阅读它还是以其他方式阅读它?
我正在做的基本想法是,读取一个 SQL DB,获取写入那里的新值, 然后在新的更改时更新 XML 文件。
XmlTextWriter 选项似乎不是写入选项,而是用于写入新的 XML 文件?
XmlTextReader reader = new XmlTextReader(@"C:\Users\Pavle\Desktop\Settings.xml");
XmlDocument doc = new XmlDocument();
doc.Load(reader);
doc.SelectSingleNode("/config/Settings/SleepNumber").InnerText = "new2 text";
doc.Save(@"C:\Users\Pavle\Desktop\Settings.xml");
【问题讨论】:
-
虽然有办法解决这个问题,但我建议实际上首先写入中间/临时文件,然后验证所做的更改是否正确,然后删除原始文件并移动/重命名新文件。如果验证失败,那么您始终拥有原件。 (这是处理文件操作多年的经验:1. 备份 2. 不要乱用原始文件 3. 读取、修改、写入临时文件、验证、交换)
标签: c# xml visual-studio