0

将字符串列表保存到设置文件的最佳方法是什么?我已经看到了一些将 xml 设置文件类型编辑为字符串 [] 的解决方案,但我可以让它在编辑器中工作。

我也不知道在运行时要添加多少字符串,而且会很多,所以我不想在这里定义一堆命名字符串。但我仍然想保存它们并在下次打开应用程序时访问它们。

我看到System.Collections.Specialized.StringCollection设置类型中有一个,这是我想要的吗?如果有一种方法可以将数组保存到 XML 中也可以。

4

2 回答 2

1

这是一个简单的 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()。

于 2012-02-01T01:36:13.900 回答
0

也许这个问题如何在应用程序设置中存储 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...
于 2012-02-01T01:35:08.477 回答