<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="CarMS.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <userSettings>
    <CarMS.Properties.Settings>
      <setting name="IP" serializeAs="String">
        <value>192.168.1.120</value>
      </setting>
      <setting name="catelog" serializeAs="String">
        <value>OTMS</value>
      </setting>
      <setting name="UserID" serializeAs="String">
        <value>sa</value>
      </setting>
      <setting name="Password" serializeAs="String">
        <value>1234</value>
      </setting>
    </CarMS.Properties.Settings>
  </userSettings>
</configuration>
这是一段config文件,文件名字叫:App.config请问如何用程序将"UserID"的value修改为:123456,期待高人的指点

解决方案 »

  1.   

    实例化这个类System.Configuration.ClientSettingsSection
    在类实例里找到方法或属性进行设置保存没有你的类的定义,无法直接呈现代码
      

  2.   

    用XmlDocument读取配置文件,循环查找节点实现,下面代码测试通过(WinForm).            XmlDocument doc = new XmlDocument(); 
                doc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
                
                XmlNodeList list= doc.SelectNodes("/configuration/userSettings/CarMS.Properties.Settings/setting");
                foreach (XmlNode node in list)
                {
                    if (node.Attributes["name"].Value == "UserID")
                    {
                        node.InnerXml= string.Format("<value>{0}</value>","123456");
                        break;
                    }
                }            doc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);CarMS.Properties.Settings是一对象,通过
    ConfigurationManager.GetSection("userSettings/CarMS.Properties.Settings/") as CarMS.Properties.Settings
    可以转回Settings对象.如果是用Microsoft.Practices.EnterpriseLibrary.Common.dll比较好处理.
      

  3.   

    先找出UserID在CarMS.Properties.Settings节点下的索引
    然后用这个索引获取对应的value节点,再更改值