///
<summary>
///
更新配置文件信息
///
</summary>
///
<param name="name">配置文件字段名称</param>
///
<param name="Xvalue">值</param>
private
void UpdateConfig(string name,string Xvalue)
{
XmlDocument doc = new XmlDocument();
doc.Load(Application.ExecutablePath + ".config");
XmlNode node = doc.SelectSingleNode(@"//add[@key=‘"+name+"‘]");
XmlElement ele = (XmlElement)node;
ele.SetAttribute("value", Xvalue);
doc.Save(Application.ExecutablePath + ".config");
}
///<summary>
///向.config文件的appKey结写入信息AppValue
保存设置
///</summary>
///<param
name="AppKey">节点名</param>
///<param
name="AppValue">值</param>
Private
void
SetValue(String
AppKey,String AppValue)
{
Xmldocument
xDoc=new
XmlDocument();
xDoc.Load(System.Windows.Forms.Application.ExecutablePath+”.config”);
XmlNode
xNode;
XmlElement
xElem1;
XmlElement
xElem2;
xNode=xDoc.SelectSingleNode(“
//appSettings”);
xElem1=(XmlElement)xNode.SelectSingleNode(“
//add[@key=’”+AppKey+”’]”);
if
(xElem1!=
null
)
xElem1.SetAttribute(“value”,AppValue);
else
{
xElem2=xdoc.CreateElement(“add”);
xElem2.SetAttribute(“key”,AppKey);
xElem2.setAttribute(“value”,AppValue);
xNode.AppendChild(xElem2);
}
System.Configuration.ConfigurationSettings.AppSettings["Key"];
但是现在FrameWork2.0已经明确表示此属性已经过时。并建议改为ConfigurationManager或WebConfigurationManager。并且AppSettings属性是只读的,并不支持修改属性值.
但是要想调用ConfigurationManager必须要先在工程里添加system.configuration.dll程序集的引用。(在解决方案管理器中右键点击工程名称,在右键菜单中选择添加引用,.net
TablePage下即可找到)添加引用后可以用 String str =
ConfigurationManager.AppSettings["Key"]来获取对应的值了。
更新配置文件:
Configuration
cfa =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//添加
cfa.AppSettings.Settings.Add("key",
"Name")
//修改
cfa.AppSettings.Settings["BrowseDir"].Value
= "name";
最后调用
cfa.Save();
当前的配置文件更新成功。
ConfigurationManager.RefreshSection("appSettings");//
刷新命名节,在下次检索它时将从磁盘重新读取它。记住应用程序要刷新节点