(原)举例说明C#自定义配置文件app.config及如何读取配置内容(在app.config加入自定义的XML节点)?...
App.config文件如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="Companies" type="ConvertCV.ConvertCfgHandler,ConvertCV"/>
</configSections>
<Companies>
<Company Enabled="false">
<ID>563</ID>
<Name>公司AA</Name>
<SourceFolder>E:\test\PubResume\aa</SourceFolder>
<TargetFolder>E:\test\PubResume\aa_cvt</TargetFolder>
</Company>
<Company Enabled="false">
<ID>234</ID>
<Name>公司BB</Name>
<SourceFolder>E:\test\PubResume\bb</SourceFolder>
<TargetFolder>E:\test\PubResume\bb_cvt</TargetFolder>
</Company>
<Company Enabled="true">
<ID>384</ID>
<Name>公司CC</Name>
<SourceFolder>E:\test\PubResume\cc</SourceFolder>
<TargetFolder>E:\test\PubResume\cc_cvt</TargetFolder>
</Company>
</Companies>
<appSettings>
<!--要处理哪天的数据,如果为空,则处理当天的数据-->
<add key="PubDate" value="2009-3-22"/>
<!--基础数据目录-->
<add key="BaseDataPath" value="E:\Batch\test\bin\Debug\BaseData"/>
</appSettings>
</configuration>
读取自定义配置文件:
第一步,先创建configuration section类
public class CompanySection
{
public CompanySection()
{
}
public CompanySection(XmlNode company)
{
XmlElement c = (XmlElement)company;
_enabled = Convert.ToBoolean(c.Attributes["Enabled"].Value);
_id = c.SelectSingleNode("ID").InnerText;
_name = c.SelectSingleNode("Name").InnerText;
_sourceFolder = c.SelectSingleNode("SourceFolder").InnerText;
if (_sourceFolder.Substring(_sourceFolder.Length - 1) != @"\")
_sourceFolder += @"\";
_targetFolder = c.SelectSingleNode("TargetFolder").InnerText;
if (_targetFolder.Substring(_targetFolder.Length - 1) != @"\")
_targetFolder += @"\";
}
#region 属性
private string _id = "";
private string _name = "";
private string _sourceFolder = "";
private string _targetFolder = "";
private bool _enabled = true;
public string ID
{
get { return _id; }
set { _id = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public string SourceFolder
{
get { return _sourceFolder; }
set { _sourceFolder = value; }
}
public string TargetFolder
{
get { return _targetFolder; }
set { _targetFolder = value; }
}
public bool Enabled
{
get { return _enabled; }
set { _enabled = value; }
}
#endregion
}
第二步, 需要继承IConfigurationSectionHandler接口
public class ConvertCfgHandler : IConfigurationSectionHandler
{
public ConvertCfgHandler()
{
}
#region IConfigurationSectionHandler Members
public object Create(object parent, object configContext, XmlNode section)
{
List<CompanySection> _list = new List<CompanySection>();
foreach(XmlNode company in section.SelectNodes("//Company"))
{
CompanySection _company = new CompanySection(company);
if(_company.Enabled)
_list.Add(_company);
}
return _list;
}
#endregion
}
第三步,读取配置项
public class CompanyConfig
{
/// <summary>
/// 获取配置文件中的公司信息
/// </summary>
/// <returns></returns>
public static List<CompanySection> GetCompanyList()
{
return (List<CompanySection>)ConfigurationSettings.GetConfig("Companies");
}
}
第四步,使用配置内容
static void Main()
{
private List<CompanySection> _companyList = CompanyConfig.GetCompanyList();
foreach(CompanySection company in _companyList)
{
//处理代码
}
}
转载于:https://www.cnblogs.com/anny-1980/articles/1421554.html
(原)举例说明C#自定义配置文件app.config及如何读取配置内容(在app.config加入自定义的XML节点)?...相关推荐
- java通过spring获取配置文件_springboot获取properties文件的配置内容(转载)
1.使用@Value注解读取 读取properties配置文件时,默认读取的是application.properties. application.properties: demo.name=Nam ...
- Springboot 之 自定义配置文件及读取配置文件
读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. 核心 ...
- springCloud - 第7篇 - 配置文件管理中心 ( SpringCloud Config )
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.简介 分布式的系统往往有多个服务,会有不同的配置文件. 不同环境配置文件内容也各不相同: 开发环 ...
- SpringCloud微服务(06):Config组件,实现配置统一管理
一.Config简介 在微服务系统中,服务较多,相同的配置:如数据库信息.缓存.参数等,会出现在不同的服务上,如果一个配置发生变化,需要修改很多的服务配置.spring cloud提供配置中心,来解决 ...
- 在Web.config或App.config中的添加自定义配置
.Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持.最近看到一些项目中还在自定义xml文件做程序的配置,所以忍 ...
- lumen 下使用自定义配置文件
由于lumen与laravel有一定的区别,在lumen根目录下没有config文件,因此在lumen下使用自定义配置文件的时候有区别,如下步骤 1,在根目录下新建config文件夹 2,在confi ...
- NET 自定义配置文件 Configuration
说起.NET的配置文件,.NET的开发人员无人不知,无人不用,如下面的配置节点,基本上每个.NET开发的项目都会出现像下面的配置,出现在App.config或者Web.config中 <conn ...
- spring配置文件_SpringBoot入门建站全系列(二十三)配置文件优先级及自定义配置文件...
SpringBoot入门建站全系列(二十三)配置文件优先级及自定义配置文件 一.概述 Spring Boot允许多种配置来源,官网是这样说的: Spring Boot使用一种非常特殊的Property ...
- Springboot-读取核心配置文件及自定义配置文件
读取核心配置文件 核心配置文件是指在resources根目录下的application.properties或application.yml配置文件,读取这两个配置文件的方法有两种,都比较简单. 核心 ...
最新文章
- zend framework mysql_Zend Framework连接Mysql数据库实例分析
- css点击a标签显示下划线_好程序员HTML5培训教程-html和css基础知识
- Java黑皮书课后题第2章:*2.23(驾驶费用)编写一个程序,提示用户输入驾驶的距离、每加仑多少英里的汽车燃油性能值,以及每加仑的价格,然后显示旅程的费用
- 技巧心得:Linux技巧小总结
- Jmeter在运行结果中文出现乱码问题
- spring----06 更多DI知识
- __thread 和 __typeof__关键字
- Java线程面试题 Top 50 (转载)
- 机器人码垛搬运编程程序_一条指令搞定机器人搬运程序
- 网络编程_8(项目附件)
- 深度学习语音识别方法概述与分析
- 苹果屏幕录制怎么没有声音_苹果6plus没有声音怎么回事
- HTML5中weight属性的作用,weight属性
- JS 0.1+0.2的理解
- 领导者激励团队的最佳方法
- 深度学习baseline模型_深度学习模型在序列标注任务中的应用
- 【单片机】温度感应报警装置的设计与制作(说明书)
- 实例讲解spark在京东智能供应链预测系统的应用
- DHCP地址池耗尽攻击
- 【STL详解】stack
热门文章
- matlab guide实现多级界面
- html读取servlet,简单html与servlet交互(HTML利用servlet读取txt)
- k3 审核流程图_K3操作流程图
- java队列_java集合入门和深入学习(详解),看这篇就差不多了
- 一加桌面3.0 android8,一加手机XRemix6.0安卓8.1.0Beta2.0定制本地化增强适配归属农历等...
- html万花筒照片代码,怎样拍出万花筒效果
- 中raise抛出异常_Python 异常处理知识点汇总,五分钟就能学会 !
- java将异常输出到日志_【ThinkingInJava】25、将异常输出记录到日志
- java - 菲波拉契数列 兔子个数
- 零基础爬虫requests初阶教程,手把手教你爬数据