<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null" />
  </configSections>
  <dataConfiguration defaultDatabase="SMSRouter" />
  <connectionStrings>
    <add name="SMS" connectionString="workstation id=ACER;packet size=4096;user id=sa_smsrouter;data source=127.0.0.1;persist security info=True;initial catalog=SMS;password=sad;" providerName="System.Data.SqlClient" />
  </connectionStrings>
<appSettings>
<add key="ThreadSleepTime" value="1000"  />
<add key="ThreadAutoSendThreadNum" value="5" />
</appSettings>

</configuration>
想通过界面来分别修改key="ThreadSleepTime" 与key="ThreadAutoSendThreadNum" 的数值。我现在是通过读写XML方式来操作。代码如下:public static void UpdateConfig(int Number ,string Leixing) //Leixing用来区分是时间还是线程的数目
        {
            try
            {
                string m_strFullPath = "";
                XmlDocument xmlDoc = new XmlDocument();
                XmlNodeList nodeList;
                m_strFullPath = System.Windows.Forms.Application.ExecutablePath + ".config";           
                xmlDoc.Load(m_strFullPath);
                //文件属性的控制(读->写)
                if ((File.GetAttributes(m_strFullPath) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly)
                {
                    File.SetAttributes(m_strFullPath, FileAttributes.Normal);
                }        
                XmlNodeList nodeList = xmlDoc.SelectSingleNode(@"/configuration/appSettings").ChildNodes;
                foreach (XmlNode xn in nodeList)//遍历所有子节点
                {
                    XmlElement xe = (XmlElement)xn;
                    if (Leixing == "ThreadAutoSendThreadNum")
                    {
                        if (GetIndex(xe, "key", "ThreadAutoSendThreadNum") != -1)
                        {
                            string LastestValue = "value=" + Number + ";";
                            
                            xe.SetAttribute("value", LastestValue);                           
                        }
                    }
                    else
                    {
                        if (GetIndex(xe, "key", "ThreadSleepTime") != -1)
                        {
                            string LastestValue = "value=" + Number + ";";
                            xe.SetAttribute("value", LastestValue);
                        }
                    }
                }
                xmlDoc.Save(m_strFullPath);
                ////文件属性的控制(写->读)
                File.SetAttributes(m_strFullPath, FileAttributes.ReadOnly);
            }           
            catch (Exception ex)
            {
                throw ex;
            }private static int GetIndex(XmlElement xe,string KeyName,string ValueName)
        {
            return xe.GetAttribute(KeyName).IndexOf(Name);
        }
但这样写以后就把Value的值都给变了。大家有没有什么好的办法啊。求教了。

解决方案 »

  1.   

    请大家踊跃发言。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  2.   

    请大家踊跃发言。大家都是怎么操作app.config的读与写的。啊能给贴点代码出来吗?谢谢拉。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  3.   

    不就是一个普通的xml文件的读写操作,按这个思路就可以了
      

  4.   

    用的是2005。对。现在是不想用XML做处理。这样很慢。有没有其他办法。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  5.   

    还有就是要把:<add name="SMS" connectionString="workstation id=ACER;packet size=4096;user id=sa_smsrouter;data source=127.0.0.1;persist security info=True;initial catalog=SMS;password=sad;" providerName="System.Data.SqlClient" />
    这个字符串我必须得拆解出来实现这个效果:
    private string SMSenderDBIP = 127.0.0.1;
            private string SMSenderSaUserName =sa_smsroute;
            private string SMSenderSaPassword =sad;大家看有没有什么好的办法。XML的方法也行。只要能实现就行。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  6.   

    原来用的是ini文件。现在就是要变成config的文件。必须得改。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  7.   

    斑竹,高手们。进来帮忙吗?====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  8.   

    怎么都怎么冷淡啊。没有热心人了吗?愚翁。你们在哪里啊。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2
      

  9.   

    http://www.codeproject.com/csharp/modconfigruntime.asp
      

  10.   

    To: zhzuo(秋枫)我现在其实就是要Select。而不是insert和update。你给的那个网站。没有啊。请帮忙啊。====CSDN 小助手 V2.5 2005年11月05日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
    下载:http://szlawbook.com/csdnv2