我想在.NET Winforms項目中的一些用戶設置(Properties.Settings.Default.UserSettings)中保存一些XML數據。是否有可能做到這一點,或者將這些數據保存在分離的文件中會更好嗎?在用戶設置中保存XML數據
感謝您的答覆!
我想在.NET Winforms項目中的一些用戶設置(Properties.Settings.Default.UserSettings)中保存一些XML數據。是否有可能做到這一點,或者將這些數據保存在分離的文件中會更好嗎?在用戶設置中保存XML數據
感謝您的答覆!
您可以將XML文檔的字符串表示存儲在字符串類型的設置中。要保存文檔,請將其加載到XmlDocument中,並將該設置設置爲XmlDocument.OuterXml屬性的值。要檢索它,請創建一個新的XmlDocument並使用其LoadXml方法將該字符串解析爲一個XML文檔。
這通常是一個壞主意。不是因爲將XML文檔作爲文本存儲在另一個XML文檔中存在任何內在錯誤 - 並非如此。但是,通過UserSettings屬性訪問的大多數設置都是單個值。您正在引入一種操作模式,即單個設置現在可以包含任意數量的實際設置。這不是大多數閱讀你的代碼的人所期望的。
就像很多讓代碼有異味的東西一樣,在你的具體實現中這可能是完美的。我可以想象在哪種情況下我會這樣做。但在大多數情況下,我不會。
在以前的項目中,我有一個類似的想法,但決定保持XML文件分開。
xml文件可以是嵌入資源,並且它們的文件名可以在設置文件中引用。
我認爲這是一個更清潔的解決方案。
感謝您的答案。作爲結論,我決定將這些東西提取到另一個存儲在資源中的xml文件中。
讓我們知道你是如何得到的 - 我會對你的實現感興趣。 – 2008-10-13 18:12:49