精易论坛

标题: c#获取或修改配置文件 [打印本页]

作者: 从此形同陌路    时间: 2013-9-14 07:36
标题: c#获取或修改配置文件

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Windows.Forms;

namespace SZTMinorTool
{
    /// <summary>
    /// App.config配置类
    /// </summary>
    public class AppSettings
    {
        /// <summary>
        /// 获取配置文件路径
        /// </summary>
        /// <returns></returns>
        public static string AppConfig()
        {
            return System.IO.Path.Combine(Application.StartupPath, "App.config");//此处配置文件在程序目录下,或者设置为指定的配置文件路径
        }

        /// <summary>
        /// 获取配置节点值
        /// </summary>
        /// <param name="appKey">节点key值</param>
        /// <returns></returns>
        public static string GetValue(string appKey)
        {
            XmlDocument xDoc = new XmlDocument();
            try
            {
                xDoc.Load(AppSettings.AppConfig());
                XmlNode xNode;
                XmlElement xElem;
                xNode = xDoc.SelectSingleNode("//appSettings");    //补充,需要在你的app.config 文件中增加一下,<appSetting> </appSetting>
                xElem = (XmlElement)xNode.SelectSingleNode("//add[@key='" + appKey + "']");
                if (xElem != null)
                    return xElem.GetAttribute("value");
                else
                    return "";
            }
            catch (Exception)
            {
                return "";
            }
        }

        /// <summary>
        /// 设置配置节点值
        /// </summary>
        /// <param name="AppKey">key</param>
        /// <param name="AppValue">value</param>
        public static void SetValue(string AppKey, string AppValue)
        {
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load(AppSettings.AppConfig());
            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);
            }
            xDoc.Save(AppSettings.AppConfig());
        }
    }
}




作者: 漩涡    时间: 2013-9-14 07:50
好神秘的说。。
作者: Farmer°    时间: 2013-9-14 07:57
楼主再这样,月光族就是你的下场
都有前车之鉴了,还不收手
作者: lcylcyll    时间: 2013-9-16 22:49
你这一个是写什么来的,xml还是??




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4