[转]C# 解析配置文件内容 System.Configuration

1. 创建配置节类

必须创建继承自ConfigurationSection的对象才能进行配置数据读写操作,ConfigurationSection提供了索引器用来获取和设置配置数据,需要注意的是拥有ConfigurationProperty特性的属性才会被存储,并且名称要保持大小写完全一致,如下面的代码中,所有的"id"必须保持一样。

class ConfigSectionData : ConfigurationSection

{

[ConfigurationProperty("id")]

public int Id

{

get { return (int)this["id"]; }

set { this["id"] = value; }

}

[ConfigurationProperty("time")]

public DateTime Time

{

get { return (DateTime)this["time"]; }

set { this["time"] = value; }

}

}

2. 创建配置文件操作对象

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

ConfigSectionData data = new ConfigSectionData();

data.Id = 1000;

data.Time = DateTime.Now;

config.Sections.Add("add", data);

config.Save(ConfigurationSaveMode.Minimal);

上面的例子是操作 app.config,在根节点(configuration)下写入名称为"add"的配置数据。

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

<configSections>

<section name="add" type="ConsoleApplication1.ConfigSectionData, ... />

</configSections>

<add />

</configuration>