使用LINQ更新XML文件

时间:2014-03-07 21:43:42

标签: c# xml wpf linq

我正在尝试使用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);

没有错误,只是不确定我做错了什么。

2 个答案:

答案 0 :(得分:1)

有根据的猜测:您正在从XDocument而不是settingsPath加载myPath

您可能正在更新settingPath的任何文件,但您希望更新myPath

答案 1 :(得分:0)

您没有向我们展示您的XML结构,但我认为您需要Descandants可能SettingsRoot的子元素或其他内容的子元素,因此{ {1}}变空了。

updateSetting