我有一個包含數據庫設置的XML文件,這些數據庫設置可能會根據讀取的位置而更改。最好,我會從一些配置文件中讀取這些設置。如何才能做到這一點?將配置文件設置爲XML文件
2
A
回答
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」文件在當前目錄中,但我通常p請將其放在用戶的應用數據文件夾中,因爲您可以隨時寫入該文件夾。
0
您可以使用app.config文件,或者創建自己的XML文件來存儲它們
Simplest way to have a configuration file in a Windows Forms C# Application
0
請嘗試我關於這個問題的後續文章,非常類似於Dave提出的解決方案,但只是多一點肉。 http://www.picnet.com.au/blogs/Guido/post/2009/09/10/XML-Settings-Files-No-more-webconfig.aspx
相關問題
- 1. 將配置文件轉換爲XML
- 2. 將XML文件設置爲壁紙?
- 3. Android設置|(文件)配置
- 4. 將多個Twitter配置文件保存爲單個xml文件
- 5. Android XML配置文件?
- 6. 配置Hadoop xml文件
- 7. 休眠xml配置文件
- 8. 設置xml文件的文件路徑
- 9. 爲iOS設置Apple配置文件服務Over-the-Air配置文件傳送
- 10. 設置配給配置文件到期
- 11. SSIS XML配置文件位置
- 12. 將文本框設置爲文件名
- 13. 將ASP.NET中的xml文件的文檔源設置爲變量
- 14. 在Java VisualVM中將默認配置文件CPU設置爲true
- 15. 將SharePoint配置文件圖片設置爲「Only Me」
- 16. 分發配置文件將不會設置爲「活動」
- 17. 爲什麼要在特設分發配置配置文件之前使用開發配置配置文件?
- 18. 通過XML配置文件基於MDC設置日誌文件的名稱
- 19. cmd bat文件,將輸出文件名設置爲源文件
- 20. JPA持久xml文件的配置設置順序
- 21. 如何從Startup.cs中的XML文件中提取配置設置
- 22. 從XML文件讀取Gtk3應用程序的配置設置
- 23. SSIS - 如何從XML配置文件設置'RowDelimiter'和'HeaderRowDelimiter'?
- 24. 通過XML文件配置的Linux C++應用程序設置
- 25. 通過傳遞XML文件來設置HikariCP配置
- 26. Tikiwiki如何設置「User_Tracker_Business」配置文件?
- 27. 在Heroku的Sinatra設置配置文件
- 28. Mef和配置文件設置
- 29. spring 3.1設置配置文件
- 30. 配置文件設置 - 需要輸入
使用XMLSerializer要記住的一件事是它無法序列化Dictionary <>對象。但是,您可以通過實現IXmlSerializable接口來編寫自己的XMLSerialization方法。 – Navaar 2009-06-03 14:16:51