我有一个XML文件,其中包含的数据库设置可能会根据读取的位置而改变。我最好从一些配置文件中读取这些设置。怎么办呢?
答案 0 :(得分:1)
您可以使用System.Xml.Serialization.XmlSerializer类自动将设置拉入自定义类。
使用您的设置创建一个类:
public class Settings
{
private string connectionString;
public string ConnectionString
{
get { return connectionString; }
set { connectionString = value; }
}
}
然后使用以下内容获取数据:
Settings settings = new Settings();
FileStream filestream = new FileStream("settings.xml", FileMode.Open);
System.Xml.Serialization.XmlSerializer cereals = new System.Xml.Serialization.XmlSerializer(typeof(Settings));
settings = cereals.Deserialize(filestream);
同样,如果要将当前对象分配给设置文件,请执行以下操作:
XmlSerializer cereals = new XmlSerializer(typeof(Settings));
System.IO.FileStream writer = new FileStream("settings.xml", FileMode.Create);
cereals.Serialize(writer, settings);
在这种情况下,“settings.xml”文件位于当前目录中,但我通常将其放在用户的应用程序数据文件夹中,因为您始终可以写入该文件夹。
答案 1 :(得分:0)
您可以使用app.config文件,也可以创建自己的XML文件来存储它们
Simplest way to have a configuration file in a Windows Forms C# Application
答案 2 :(得分:0)
尝试我关于这个主题的以下帖子,非常类似于Dave上面提出的解决方案,但只是更多的肉体。 http://www.picnet.com.au/blogs/Guido/post/2009/09/10/XML-Settings-Files-No-more-webconfig.aspx