想用linq to xml 修改App.config的节点值,求指点解决思路
想用linq to xml 修改App.config的节点值,求指点
这是俺的配置文件,我想用linq to xml修改appSettings下lastid的value值 咋写呀 大虾们
------解决方案--------------------
直接用 ConfigurationManager 修改更简单
需要注意的是:Debug时,修改的是bin/debug下的 .vshost.exe.Config 文件而不是 *.exe.config 文件
- C# code
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="lastid" value="5140"/> </appSettings> </configuration>
这是俺的配置文件,我想用linq to xml修改appSettings下lastid的value值 咋写呀 大虾们
------解决方案--------------------
直接用 ConfigurationManager 修改更简单
需要注意的是:Debug时,修改的是bin/debug下的 .vshost.exe.Config 文件而不是 *.exe.config 文件
- C# code
var config = System.Configuration. ConfigurationManager.OpenExeConfiguration(System.Configuration.ConfigurationUserLevel.None); config.AppSettings.Settings.Remove("id"); config.AppSettings.Settings.Add("id", "test"); config.Save(); Console.WriteLine(config.AppSettings.Settings["id"].Value);
------解决方案--------------------
- C# code
void Main() { var xml=XElement.Load(@"c:\test.xml"); var query=(from k in xml.Descendants("appSettings") where k.Element("add").Attribute("key").Value=="lastid" select k.Element("add")).SingleOrDefault(); if(query !=null) { query.Attribute("value").Value="5555"; xml.Save(@"c:\test.xml"); } }