zoukankan      html  css  js  c++  java
  • C#中的配置文件自定义解析 [转帖]

    以前总是用配置文件以外的xml来进行附加的应用程序配置设置,近期发现原来C#中已提供了相应的方法,不由得又一次强烈鄙视自己的无知.本例为vs2003版本,vs2005中个别方法可能已过期, 不过整体模式相同.

     一,修改配置文件(web.config或App.config)内容

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <!--type中用逗号分割了完整类名称和程序集(*.dll或*.exe)名称,name制定自定义配置的根节点名称-->
        <section name="Sample" type="Sample.ConfigHandler,Sample" />
      </configSections>
      <Sample>
        <myConfig name="sharpnessdotnet" sex="male"/>
      </Sample>
    </configuration>

    二,配置解析类定义

    public class ConfigHandler:System.Configuration.IConfigurationSectionHandler
        {
            object System.Configuration.IConfigurationSectionHandler.Create(object parent, object configContext, System.Xml.XmlNode section)
            {
                XmlNodeList configs = section.SelectNodes("myConfig");
                foreach(XmlNode config in configs)
                {
                    Console.WriteLine(config.Attributes["name"].Value);
                    Console.WriteLine(config.Attributes["sex"].Value);
                }
                return "hello";
            }
        }

    三,客户端测试代码

     class Program
        {
            static void Main(string[] args)
            {          
                object value = ConfigurationSettings.GetConfig("Sample");//此处可返回object,开发人员可以自己去做文章
                Console.WriteLine(value.ToString());
                Console.Read();
            }
        }

    四,输出效果展示

    转自:http://blog.csdn.net/sharpnessdotnet/archive/2008/03/27/2223177.aspx

  • 相关阅读:
    单位换算 M、Mb、MB
    数据库事务原子性、一致性、隔离性、持久性
    进制转换
    SpringBoot application.yum配置
    private 与 super
    sql 字段别名里包含特殊字符
    sql 中的分隔符
    sql 中的注释
    windows Ctrl + Alt + 方向键 取消屏幕反转
    1finally与return、exit()
  • 原文地址:https://www.cnblogs.com/liangwei389/p/1333348.html
Copyright © 2011-2022 走看看