您的位置:首页 > 其它

VS2005中读写配置文件(方法二)

2008-03-03 15:53 489 查看
File = App.config


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


<configuration>


<configSections>


<section name="systems" type="ConfigConsoleApplication.SystemsSection, ConfigConsoleApplication" />


</configSections>


<systems>


<system name="Production" server="PRODSERVER" database="Prod" />


<system name="Demo" server="DEMOSERVER" database="Demo" />


<system name="Testing" server="TESTSERVER" database="Test" />


<system name="Development" server="DEVSERVER" database="DEV" />


</systems>


</configuration>

File = Program.cs



using System;


using System.Collections.Generic;


using System.Collections.Specialized;


using System.Configuration; // remember to add reference in project


using System.Reflection;


using System.Text;




namespace ConfigConsoleApplication




...{


public sealed class SystemsSection : ConfigurationSection




...{


public SystemsSection()




...{


}


[ConfigurationProperty( "", IsDefaultCollectionProperty = true )]


public SystemsCollection Systems




...{


get




...{


return (SystemsCollection)base[ "" ];


}


}


}


public sealed class SystemsCollection : ConfigurationElementCollection




...{


protected override ConfigurationElement CreateNewElement()




...{


return new SystemElement();


}


protected override object GetElementKey( ConfigurationElement element )




...{


return ( (SystemElement)element ).Name;


}


protected override ConfigurationElementCollectionType CollectionType




...{


get




...{


return ConfigurationElementCollectionType.BasicMap;


}


}


protected override string ElementName




...{


get




...{


return "system";


}


}


}


public sealed class SystemElement : ConfigurationElement




...{


[ConfigurationProperty( "name", IsCollectionKey = true, RequiredValue = true )]


public string Name




...{


get




...{


return (string)base[ "name" ];


}


set




...{


base[ "name" ] = value;


}


}


[ConfigurationProperty( "server", RequiredValue = true )]


public string Server




...{


get




...{


return (string)base[ "server" ];


}


set




...{


base[ "server" ] = value;


}


}


[ConfigurationProperty( "database", RequiredValue = true )]


public string Database




...{


get




...{


return (string)base[ "database" ];


}


set




...{


base[ "database" ] = value;


}


}


public override string ToString()




...{


string output = "SystemElement : ";


output += string.Format( "Name = {0} ", Name );


output += string.Format( "Server = {0} ", Server );


output += string.Format( "Database = {0} ", Database );


return output;


}


} public class Program




...{


static void Main( string[] args )




...{


SystemsSection sysSection = ConfigurationManager.GetSection( "systems" )


as SystemsSection;


SystemsCollection oneCollection = sysSection.Systems;


foreach ( SystemElement oneElement in oneCollection )




...{


Console.WriteLine( oneElement.ToString() );


}


}


}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: