создать список строк в файле настроек XML - PullRequest
0 голосов
/ 01 февраля 2012

Каков наилучший способ сохранить список строк в файле настроек?Я видел некоторые решения редактирования типа файла настройки XML для строки [], но я могу заставить это работать в редакторе.

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

я вижу, что есть System.Collections.Specialized.StringCollection в типах настроек, это то, что я хочу?если есть способ сохранить массив в XML, который бы тоже работал.

Ответы [ 2 ]

1 голос
/ 01 февраля 2012

Вот простой скрипт писателя XML. (Непроверенные)

var stringArray = new string[100]; //value of the string
var stringArrayIdentifier = new string[100]; //refers to what you will call the field 
//<identifier>string</identifier>

var settings = new XmlWriterSettings
                   {Indent = true, IndentChars = "\t", NewLineOnAttributes = false};
using (XmlWriter writer = XmlWriter.Create("PATH", settings))
{
    writer.WriteStartDocument();
    foreach (int i = 0; i < stringArray.Length; i++)
    {
        writer.WriteStartElement(stringArrayIdentifier[i]);
        writer.WriteString(stringArray[i]);
        writer.WriteEndElement();
    }
    writer.WriteEndDocument();
}

JavaScriptSerializer.Serialize () будет делать то, что вы хотите, но с ограниченным использованием. Если все, что вы хотите, это просто, используйте JavaScriptSerializer.Serialize ().

0 голосов
/ 01 февраля 2012

Возможно, этот вопрос Как сохранить массив int [] в настройках приложения поможет. Если вы ищете быстрый и простой способ сделать это, вы можете просто сериализовать коллекцию в json.

var serializer = new JavaScriptSerializer();
var myArray = new []{"one", "two", "three"};
var myString = serializer.Serialize(myArray);
// Now you can store myString in the settings file...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...