C#读取配置文件的几种方式

配置文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="SQLConfiguration" type="ConfigurationDemo.SQLConfiguration,ConfigurationDemo"/>
    <section name="AccountConfiguration" type="ConfigurationDemo.AccountConfiguration,ConfigurationDemo"/>
  </configSections>
  <SQLConfiguration type="MSSQL" connectionString="server=.;integrated security=sspi;database=Northwind"></SQLConfiguration>
  <AccountConfiguration>
    <users username="liunian" password="123456"></users>
  </AccountConfiguration>
  <system.net>
    <mailSettings>
      <smtp from="liunian@qq.com">
        <network />
      </smtp>
    </mailSettings>
  </system.net> </configuration>

第一种

    class SQLConfiguration : ConfigurationSection
    {
        [ConfigurationProperty("type", IsRequired = true)]
        public string Type
        {
            get { return this["type"].ToString(); }
            set { this["type"] = value; }
        }

        [ConfigurationProperty("connectionString", IsRequired = true)]
        public string ConnectionString
        {
            get { return this["connectionString"].ToString(); }
            set { this["connectionString"] = value; }
        }
    }
            SQLConfiguration sqlConfig = (SQLConfiguration)ConfigurationManager.GetSection("SQLConfiguration");
            Console.WriteLine(sqlConfig.Type);
            Console.WriteLine(sqlConfig.ConnectionString);

第二种

    public class AccountConfiguration : ConfigurationSection
    {
        [ConfigurationProperty("users", IsRequired = true)]
        public AccountSectionElement Users
        {
            get { return (AccountSectionElement)this["users"]; }
        }
    }

    public class AccountSectionElement : ConfigurationElement
    {
        [ConfigurationProperty("username", IsRequired = true)]
        public string UserName
        {
            get { return this["username"].ToString(); }
            set { this["username"] = value; }
        }

        [ConfigurationProperty("password", IsRequired = true)]
        public string Password
        {
            get { return this["password"].ToString(); }
            set { this["password"] = value; }
        }
    }
          AccountConfiguration accountConfig = (AccountConfiguration)ConfigurationManager.GetSection("AccountConfiguration");
            Console.WriteLine(accountConfig.Users.UserName);
            Console.WriteLine(accountConfig.Users.Password);

第三种

            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            SmtpSection section = config.GetSection("system.net/mailSettings/smtp") as SmtpSection;
            Console.WriteLine(section.From);

第四种

http://www.cnblogs.com/liunlls/p/config.html

第五种

 ConfigurationManager.AppSettings

第六种

 ConfigurationManager.ConnectionStrings

当然还有很多......

 

posted @ 2015-06-16 17:33  高效养猪倌  阅读(12339)  评论(5编辑  收藏  举报