2012-02-01 88 views
0

將字符串列表保存到設置文件的最佳方式是什麼?我已經看到了一些將xml設置文件類型編輯爲string []的解決方案,但是我可以在編輯器中使用它。在XML設置文件中創建字符串列表

我也不知道有多少字符串會在運行時被添加,它會很多,所以我不想在這裏定義一堆命名字符串。但我仍然想保存它們並在下次打開應用程序時訪問。

我看到有一個System.Collections.Specialized.StringCollection在設置類型,這是我想要的?如果有一種方法可以將數組保存到可以工作的XML中。

回答

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()。

+0

呃比我希望的多一點。最後創建一個字符串,用一個字符分隔,然後將該字符串拆分成一個數組。我知道這不是最好的主意,但我只是需要它通過哈哈。我會嘗試你的想法爲下一個項目。 – ikathegreat 2012-02-02 06:21:14

0

也許這個問題How to store int[] array in application Settings會有幫助。如果你正在尋找一個快速簡單的方法來做到這一點,你可以嘗試只將序列化到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...