我正在尝试使用linq更新现有的XML文件。这是我的代码;
string myPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\mySettings.xml";
XDocument cashierSettings = XDocument.Load(settingsPath);
var updateSettings = from c in cashierSettings.Elements("Settings")
select c;
foreach (XElement x in updateSettings)
{
x.Element("Setting1").SetValue("Hope this works");
}
cashierSettings.Save(settingsPath);
没有错误,只是不确定我做错了什么。
答案 0 :(得分:1)
有根据的猜测:您正在从XDocument
而不是settingsPath
加载myPath
。
您可能正在更新settingPath
的任何文件,但您希望更新myPath
。
答案 1 :(得分:0)
您没有向我们展示您的XML
结构,但我认为您需要Descandants
可能Settings
是Root
的子元素或其他内容的子元素,因此{ {1}}变空了。
updateSetting