4

我正在尝试在 .NET Winforms 项目的 UserSettings (Properties.Settings.Default.UserSettings) 中保存一些 XML 数据。是否有可能这样做或者将这些数据保存在单独的文件中会更好?

感谢您的回答!

4

3 回答 3

5

您可以将 XML 文档的字符串表示形式存储在 String 类型的设置中。要保存文档,请将其加载到 XmlDocument 中并将设置设置为 XmlDocument.OuterXml 属性的值。要检索它,请创建一个新的 XmlDocument 并使用其 LoadXml 方法将字符串解析为 XML 文档。

这通常是个坏主意。并不是因为将 XML 文档作为文本存储在另一个 XML 文档中存在任何本质上的错误——没有。但是您通过 UserSettings 属性访问的大多数设置都是单个值。您正在引入一种操作模式,其中单个设置现在可以包含任意数量的实际设置。这不是大多数阅读您的代码的人所期望的。

与许多给代码带来难闻气味的事情一样,这在您的特定实现中可能完全没问题。我可以想象我会这样做的情况。但在大多数情况下,我不会。

于 2008-10-13T20:40:57.853 回答
2

在以前的项目中,我有类似的想法,但决定将 xml 文件分开。

xml 文件可以是嵌入式资源,它们的文件名可以在设置文件中引用。

我认为这是一个更清洁的解决方案。

于 2008-10-12T19:02:44.400 回答
0

感谢您的回答。作为结论,我决定将这些内容提取到另一个 xml 文件中,该文件存储在资源中。

于 2008-10-22T11:54:36.833 回答