C#中使用代码动态改变配置文件信息

配置文件实际上就是一个XML文件,所以我们可以使用XmlDocument来进行操作。

代码如下:

static void Main(string[] args)
        {
            XmlDocument xDoc = new XmlDocument();
            xDoc.Load("../../App.config");//加载xml文件

            XmlNode xNode;
            XmlElement xElem1;
            XmlElement xElem2;

            xNode = xDoc.SelectSingleNode("//appSettings");//获取指定的xml子节点
            xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='type']");//获取子节点中指定的子节点
            //如果能获取到节点,就修改节点的value值
            if (xElem1 != null)
            {
                xElem1.SetAttribute("value", "driver");//给节点中的value属性赋值(修改操作)
            }
            //如果不能获取到节点,就创建节点
            else
            {
                xElem2 = xDoc.CreateElement("add");
                xElem2.SetAttribute("key", "type");
                xElem2.SetAttribute("value","teacher");
                xNode.AppendChild(xElem2);
            }
            xDoc.Save("../../App.config");//保存xml文档
            Console.WriteLine("保存成功!");
            
        }
View Code

1.加载Xml文档
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFilePath);

2.获取想要的节点(每个下级节点可以这样获取)
XmlNode configurationNode =xmlDoc.SelectSingleNode("configuration");
XmlNode appSettingsNode = configurationNode.SelectSingleNode("appSettings");//查找服务节点

3.遍历节点下的所有子节点
for (int i = 0; i < appSettingsNode.ChildNodes.Count; i++)
{
XmlNode addNode = appSettingsNode.ChildNodes[i];
4.获取子节点的值或设置子节点的值
addNode.Attributes["key"].Value
}
5.对xml进行保存(设置子节点值的时候)
xmlDoc.Save(xmlFilePath);

原文地址:https://www.cnblogs.com/lizhenlin/p/6434962.html