Сохранение XML-данных в пользовательских настройках - PullRequest
4 голосов
/ 12 октября 2008

Я пытаюсь сохранить некоторые XML-данные в моих пользовательских настройках (Properties.Settings.Default.UserSettings) в проекте .NET Winforms. Есть ли возможность сделать это или было бы лучше сохранить эти данные в отдельном файле?

Спасибо за ваши ответы!

Ответы [ 3 ]

5 голосов
/ 14 октября 2008

Вы можете сохранить строковое представление документа XML в параметре типа String. Чтобы сохранить документ, загрузите его в XmlDocument и установите для параметра значение свойства XmlDocument.OuterXml. Чтобы получить его, создайте новый XmlDocument и используйте его метод LoadXml для анализа строки в XML-документе.

Обычно это плохая идея. Не потому, что с хранением XML-документа как текста внутри другого XML-документа что-то не так - это не так. Но большинство настроек, к которым вы обращаетесь через свойство UserSettings, являются отдельными значениями. Вы вводите режим работы, при котором один параметр теперь может содержать произвольное количество фактических параметров. Это не то, чего ожидает большинство людей, читающих ваш код.

Как и во многих случаях, когда код плохо пахнет, в вашей конкретной реализации это может быть совершенно нормально. Я могу представить себе обстоятельства, при которых я бы это сделал. Но в большинстве случаев я бы не стал.

2 голосов
/ 12 октября 2008

В предыдущем проекте у меня была похожая идея, но я решил разделить xml-файлы.

Файлы xml могут быть встроенными ресурсами, и на их имена можно ссылаться в файле настроек.

Я думаю, что это более чистое решение.

0 голосов
/ 22 октября 2008

Спасибо за ваши ответы. В заключение я решил извлечь этот материал в другой xml-файл, который я храню в ресурсах.

...