首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

想用linq to xml 修改App.config的节点值,求指点解决思路

2012-02-02 
想用linq to xml 修改App.config的节点值,求指点C# code?xml version1.0 encodingutf-8 ?configu

想用linq to xml 修改App.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");    }         } 

热点排行