在.net中。由于对不同的节点,都相应着类去对它进行处理,。net里面为了方便。已经内置了一些类供我们使用。使我们在读取配置文件时。不必自己去定义类去处理自己定义的自己定义节点。

以下我们写了这样一个配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<!--使用IgnoreSection处理自己定义节点-->
<!--<section name="mailServeraddress" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false " restartOnExternalChanges="true"/>--> <section name="mailServeraddress" type="System.Configuration.SingleTagSectionHandler" /> <!--注意,指定处理程序的配置文件要写在自己定义配置文件的前面-->
</configSections> <mailServeraddress address="mail.tracefact.net" username="lhc" password="124324"/> </configuration>

节点名称为:mailServeraddress。有三个属性,在section里定义了SingleTagSectionHandler来处理这个节点。

namespace 自己定义节点和内置处理程序
{
class Program
{
static void Main(string[] args)
{
ExampleSingleTagSectionHandler(); } private static void ExampleSingleTagSectionHandler() {
//SingleTagSectionHandler会以hashtable的形式返回节点的全部属性
Hashtable mailServer = (Hashtable)ConfigurationManager.GetSection("mailServeraddress");//调用GetSection会返回一个hashtable string address = mailServer["address"].ToString();
string username = mailServer["username"].ToString();
string passWord = mailServer["password"].ToString(); Console.WriteLine(address+"----"+username+"------"+passWord); }
}
}

配置文件写好后,调用GetSection强转hashtable后,就能够用key——value的形式读取节点的属性值了。

在.net中,除了上面样例中的这个type,我们也能够使用其他内置type来处理自己定义节点。

.Net——使用.net内置处理程序处理自己定义节点Demo的更多相关文章

  1. .Net——实现IConfigurationSectionHandler接口定义处理程序处理自己定义节点

    除了使用.net里面提供的内置处理程序来处理我们的自己定义节点外,我们还能够通过多种方法,来自己定义处理类处理我们的自己定义节点,本文主要介绍通过实现IConfigurationSectionHand ...

  2. Mysql 存储过程 + python调用存储过程 (内置函数讲解及定义摘抄)

    定义 存储过程:就是为以后的使用而保存的一条或多条 MySQL语句的集合.可将其视为批文件,虽然它们的作用不仅限于批处理. 个人使用存储过程的原因就是因为 存储过程比使用单独的SQL语句要快 有如下表 ...

  3. day26:面向对象进阶:set、get、del反射和内置

    三 __setattr__,__delattr__,__getattr__ __开头的都是内置的,不定义系统都会有.如果自己定义的话,就会覆盖系统内置的,执行自定义的部分(是否有完成设置的语法,有的话 ...

  4. Maven内置属性、POM属性

    1.内置属性(Maven预定义,用户可以直接使用) ${basedir}表示项目根目录,即包含pom.xml文件的目录; ${version}表示项目版本; ${project.basedir}同${ ...

  5. Maven内置属性,pom属性

    内置属性(Maven预定义,用户可以直接使用) ${basedir}表示项目根目录,即包含pom.xml文件的目录; ${version}表示项目版本; ${project.basedir}同${ba ...

  6. Maven内置属性及使用

    Maven共有6类属性: 内置属性(Maven预定义,用户可以直接使用) ${basedir}表示项目根目录,即包含pom.xml文件的目录; ${version}表示项目版本; ${project. ...

  7. JMeter ----内置函数列表

    Jmeter有两种类型的函数: 用户定义的静态值(或变量) 内置函数 用户定义的静态值允许用户定义变量时被替换为静态的值测试树编译并提交运行.需要注意的是,变量目前无法嵌套,即${Var${N}}不起 ...

  8. pom----Maven内置属性及使用

    Maven共有6类属性: 内置属性(Maven预定义,用户可以直接使用) ${basedir}表示项目根目录,即包含pom.xml文件的目录; ${version}表示项目版本; ${project. ...

  9. Python内置方法详解

    1. 字符串内置方法详解 为何要有字符串?相对于元组.列表等,对于唯一类型的定义,字符串具有最简单的形式. 字符串往往以变量接收,变量名. 可以查看所有的字符串的内置方法,如: 1> count ...

随机推荐

  1. Troubleshooting:lvm调整分区时“Error parsing metadata for VG fedora”的解决

    磁盘满了,由于使用的是lvm,想要扩容时发现无论lvs还是lvdisplay这类命令都会报同样的错: [root@localhost qwang]# lvs Parse error at (line ...

  2. 基于visual Studio2013解决面试题之0908最大连续数字串

     题目

  3. 一则 ORA-00471 处理方法

    公司新上架一台服务到机房,硬件是IBM X3850 X5,硬件配置算是好的,内存有128GB.SA安装好系统--(版本sule 32bit)后通知我可以安装数据库了.忙活半天,安装好oracle 92 ...

  4. 用python -i写交互式shell

    cabinet是公司的一个数据存储服务,需要添加一个shell client,查看数据,做简单操作. 用python写了一个比想象的简单.代码如下: #! /usr/bin/python -i # c ...

  5. java运行脚本语言demo

    public class Test { /** * @param args * @throws IOException  */ public static void main(String[] arg ...

  6. 七牛用户如何将视频转码成普清高清来适应不同的手机端或者web端

    Qiniu 七牛问题解答 非常多人会用到七牛视频转码问题,要将视频转码成适用于各种终端的视频,也有的用户对转码服务的码率,帧率,分辨率等理解不多.不知道该怎样设置这些參数.以下我给大家科普一下. 问题 ...

  7. JQuery - 去除所有空格

    $('#submit').click(function () { //去除所有空格 String.prototype.NoSpace = function () { return this.repla ...

  8. Paip.断点调试MYSQL存储过程跟函数的解决方案大法

    Paip.断点调试MYSQL存储过程跟函数的解决方案大法 作者Attilax ,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn ...

  9. 恭喜我开通了CSDN博客

    准备在这里写点东西,记录我的学习过程....

  10. 第四天学习内容 if switch for 的练习

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...