config文件更改

System.Xml.XmlDocument domSysinfo=new System.Xml.XmlDocument();
            System.Xml.XmlNode root;
            System.Xml.XmlNode node;
            System.Xml.XmlNodeList nodeList;

            domSysinfo.Load(AppDomain.CurrentDomain.BaseDirectory + "//app.config");                 
            root=domSysinfo.SelectSingleNode("//configuration");
            node=root.SelectSingleNode("//appSettings");
            nodeList=node.SelectNodes("add");
            for(int i=0;i<nodeList.Count;i++)
            {
                if(nodeList.Attributes["key"].InnerText.Equals("ConnStr"))//讀                {
                    nodeList.Attributes["value"].InnerText="寫";
                }
            }
            domSysinfo.Save(AppDomain.CurrentDomain.BaseDirectory + "//app.config");




XML code
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
    <add key="ConnStr" value="連接串" />
</appSettings>
</configuration>



首先在应用程序里添加配置文件
app.config   file:

XML code<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!--   User application and configured property settings go here.-->
        <!--   Example: <add key="settingName" value="settingValue"/> -->
        <add key="ServerIP" value="127.0.0.1"/>
        <add key="Server" value="test_temp"></add>
        <add key="user" value="sa"></add>
        <add key="password" value="sa"></add>
</appSettings>
</configuration>



数据连接字符串,可以读取到当前app.config中的数据库连接信息:


C# codestring strcon=String.Format ("packet size=4096;data source={0};persist security info=True;initial catalog={1};user id={2};password={3}",ConfigurationSettings.AppSettings["SQLserverIP"],ConfigurationSettings.AppSetting["Server"],ConfigurationSettings.AppSetting["user"],ConfigurationSettings.AppSettings["password"]);



按搂主的意思可以做一config窗体,上面需有IP,Database,user,password等组成的字符串,然后可以动态修改。
比如我们加几个textbox,对应相关数据库连接信息如下:

txtIP1.Text:ServerIP//服务器
txtSvrName.Text:Database//数据库实例(名称)
txtName1.Text:user//数据库用户
txtPassword1.Text:password//密码

如果修改连接信息,直接在textbox上修改就可以,那需要写个方法:
首先引用了
using   System.Xml;
using   System.Configuration;
命名空间


C# codeprivate void SaveConfig(string ConnenctionString,string strKey)
        {
            XmlDocument doc=new XmlDocument();
            //获得配置文件的全路径
    string  strFileName=AppDomain.CurrentDomain.SetupInformation.ConfigurationFile;
            doc.Load(strFileName);
            //找出名称为“add”的所有元素
            XmlNodeList nodes=doc.GetElementsByTagName("add");
            for(int i=0;i<nodes.Count;i++)
            {
                //获得将当前元素的key属性
                XmlAttribute att=nodes.Attributes["key"];
                //根据元素的第一个属性来判断当前的元素是不是目标元素
                if (att.Value==strKey)
                {
                    //对目标元素中的第二个属性赋值
                    att=nodes.Attributes["value"];
                    att.Value=ConnenctionString;
                    break;
                }
               
               
            }
            //保存上面的修改
            doc.Save(strFileName);
        }



再修改保存设置时调用SaveConfig()方法:


C# codeprivate void btnOK_Click(object sender, System.EventArgs e)
        {
            if (txtIP1.Text=="")
            {
                MessageBox.Show("ServerIP is not allow null");
                return ;
            }
            else if(txtSvrName.Text=="")
            {
                MessageBox.Show("DataBase is not allow null");
                return ;
            }
            else if(txtName1.Text=="")
            {
                MessageBox.Show("User Name is not allow null");
                return ;
            }
            else
            {
                SaveConfig(txtIP1.Text,"ServerIP");
                SaveConfig(txtSvrName.Text,"Server");
                SaveConfig(txtName1.Text,"user");
                SaveConfig(txtPassword1.Text,"password");
    MessageBox.Show("Config Sucessful!","",MessageBoxButtons.OK,MessageBoxIcon.Warning);
            }
            this.Close();
           
        }


注意你程序目录下,程序运行时应该是修改在当前域ConfigurationFile
bin/debug/AutoRun.exe.config

<think>我们正在讨论如何编辑和修改 .config 配置文件。在Linux系统中,.config 文件通常用于存储应用程序的配置,特别是那些遵循XDG基本目录规范的程序。这些文件通常是隐藏文件(以点开头),位于用户的主目录下(如 ~/.config)或应用程序的特定目录中。 编辑 .config 文件的方法: 1. **使用文本编辑器**:可以直接用命令行文本编辑器(如nano、vim)或图形界面文本编辑器(如gedit)打开并编辑。 - 例如:`nano ~/.config/some_app/config` 2. **通过应用程序的配置界面**:有些应用程序提供了图形界面或命令行选项来修改配置,这些修改会自动保存到.config文件中。 3. **注意文件格式**:.config文件可能是纯文本(如INI、JSON、YAML等格式),也可能是二进制文件。纯文本文件可以直接编辑,而二进制文件通常需要通过应用程序本身来修改。 步骤示例(假设编辑一个名为`~/.config/myapp/config`的纯文本配置文件): ```bash # 使用nano编辑 nano ~/.config/myapp/config # 或者使用vim vim ~/.config/myapp/config ``` 注意事项: - 在编辑前最好备份原文件。 - 确保你知道自己在修改什么,错误的配置可能导致程序无法正常运行。 - 如果配置文件是结构化的(如JSON、YAML),可以使用相应的工具(如`jq`处理JSON)或确保语法正确。 如果.config是一个目录(如~/.config/),那么里面通常有多个配置文件,每个对应一个应用程序。你需要进入该目录找到具体的配置文件进行编辑。 §§相关问题§§ 1. 如何查看和编辑JSON格式的配置文件? 2. 在Linux中,如何备份和恢复.config目录? 3. 如果修改.config文件后程序无法启动,该怎么办?</think>### 如何编辑和修改 .config 配置文件 `.config` 文件通常用于存储应用程序或系统的配置信息,尤其在 Linux 环境中常见。以下是具体操作步骤: --- #### **1. 定位配置文件** - 通过终端查找常见位置: ```bash # 用户级配置(隐藏文件) ls -a ~/.config # 系统级配置 ls /etc/ ``` - 使用 `find` 命令全局搜索: ```bash find / -name "*.config" 2>/dev/null ``` --- #### **2. 编辑配置文件** **方法 1:命令行编辑器(推荐)** 使用 `nano` 或 `vim`: ```bash # 示例:编辑用户级配置文件 nano ~/.config/your_app/config # 若需管理员权限(系统级配置) sudo nano /etc/someapp.config ``` - **操作提示**: - `nano`:按 `Ctrl+O` 保存 → `Enter` 确认 → `Ctrl+X` 退出 - `vim`:按 `i` 进入编辑 → `Esc` 退出编辑 → `:wq` 保存退出 **方法 2:图形界面编辑器** 如 VS Code 或 Gedit: ```bash # 示例(VS Code) code ~/.config/your_app/config # 示例(Gedit) gedit ~/.config/your_app/config ``` --- #### **3. 修改后的生效方式** - **重启服务**: ```bash sudo systemctl restart service_name ``` - **重载配置**(部分应用支持热更新): ```bash killall -HUP process_name # 向进程发送重载信号 ``` - **注销/重启系统**:用户级配置变更通常需重新登录生效。 --- #### **4. 注意事项** 1. **备份文件**: 修改前务必备份: ```bash cp ~/.config/your_app/config ~/.config/your_app/config.bak ``` 2. **语法检查**: - JSON/YAML 配置:用 `jq` 或 `yq` 验证 ```bash jq . ~/.config/app.json # 验证JSON格式 ``` - INI 格式:确保括号 `[]` 和键值对完整 3. **权限问题**: 系统级配置需 `sudo` 权限,用户级配置需确保当前用户有读写权: ```bash chmod 600 ~/.config/your_app/config # 设置仅当前用户可读写 ``` --- #### **5. 调试配置错误** - 查看日志定位问题: ```bash journalctl -u service_name -xe # 查看系统服务日志 tail -f ~/.cache/app_logs/error.log # 查看应用错误日志 ``` - 回滚配置: ```bash mv ~/.config/your_app/config.bak ~/.config/your_app/config ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值