使用C#语言读取config配置文件

2024-09-01 17:18

本文主要是介绍使用C#语言读取config配置文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天根据看着别人的代码,写了一下读取config配置文件的方法。

配置文件主要是xml类型的文件,主要是写在网站中,主要通过三部来读取配置文件。

(1)加载配置文件

(2)遍历xml文档,将键值对添加到dictionary中

(3)通过字典,来获取键对应的值

主要代码如下

using System;
using System.Collections.Generic;
using System.Xml;namespace Library
{/// <summary>/// 通过GetConfig.getAppValue(string key)来得到config文件中的值/// </summary>public static class GetConfig{//存放键值对static Dictionary<string, string> dic = new Dictionary<string, string>();/// <summary>/// 加载配置文件/// </summary>public static void getMyConfig(){XmlDocument xml = new XmlDocument();//获取应用的当前路径string appPath = AppDomain.CurrentDomain.BaseDirectory;//加载xml文件xml.Load(appPath + "\\WebSystem.config");XmlElement xnode = (XmlElement)xml.SelectSingleNode("configuration");//读取config子节点,并将值写入到字典中SetValues(dic, xnode);}/// <summary>/// 通过键,来获取相应的值/// </summary>/// <param name="key">键</param>/// <returns>值</returns>        public static string getAppValue(string key){getMyConfig();if (!string.IsNullOrEmpty(key) && dic.ContainsKey(key.ToLower()))return dic[key.ToLower()];elsereturn null;}//重载,如果没有获取到值,返回默认值public static string getAppValue(string key,string defaultValue){getMyConfig();if (!string.IsNullOrEmpty(key) && dic.ContainsKey(key.ToLower()))return dic[key.ToLower()];elsereturn defaultValue;}/// <summary>/// 检查键值对中是否有值/// </summary>/// <param name="node">节点</param>/// <returns></returns>private static bool checkNode(XmlNode node){if (node.Attributes["key"] != null && node.Attributes["value"] != null)return true;elsereturn false;}#region/// <summary>/// 将config文件中的值,读取到dictionary中/// </summary>/// <param name="dic">存放键值对的dictionary</param>/// <param name="xnode">xml文档的节点</param>private static void SetValues(Dictionary<string,string> dic, XmlElement xnode){foreach(XmlNode xmlnode in xnode.ChildNodes){if (xmlnode.Name == "appSettings"){ //遍历节点,文档结构如下,将节点键值对存入到dictionary中//<clear/>// <add key="SiteNameEN" value="IFAWebApp"/>//<remove/>foreach (XmlNode node in xmlnode){switch (node.Name){case "clear":dic.Clear();break;case "add":if (checkNode(node))dic.Add(node.Attributes["key"].Value.ToLower(), node.Attributes["value"].Value.ToLower());break;case "remove":if(checkNode(node))dic.Remove(node.Attributes["key"].Value.ToLower());break;}}}}}#endregion}
}


这篇关于使用C#语言读取config配置文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127563

相关文章

C#数据结构之字符串(string)详解

《C#数据结构之字符串(string)详解》:本文主要介绍C#数据结构之字符串(string),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录转义字符序列字符串的创建字符串的声明null字符串与空字符串重复单字符字符串的构造字符串的属性和常用方法属性常用方法总结摘

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

使用Sentinel自定义返回和实现区分来源方式

《使用Sentinel自定义返回和实现区分来源方式》:本文主要介绍使用Sentinel自定义返回和实现区分来源方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Sentinel自定义返回和实现区分来源1. 自定义错误返回2. 实现区分来源总结Sentinel自定

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

Pandas使用SQLite3实战

《Pandas使用SQLite3实战》本文主要介绍了Pandas使用SQLite3实战,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1 环境准备2 从 SQLite3VlfrWQzgt 读取数据到 DataFrame基础用法:读

JSON Web Token在登陆中的使用过程

《JSONWebToken在登陆中的使用过程》:本文主要介绍JSONWebToken在登陆中的使用过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录JWT 介绍微服务架构中的 JWT 使用结合微服务网关的 JWT 验证1. 用户登录,生成 JWT2. 自定义过滤

Java中StopWatch的使用示例详解

《Java中StopWatch的使用示例详解》stopWatch是org.springframework.util包下的一个工具类,使用它可直观的输出代码执行耗时,以及执行时间百分比,这篇文章主要介绍... 目录stopWatch 是org.springframework.util 包下的一个工具类,使用它

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一