2012-02-01 21 views
0

文字列のリストを設定ファイルに保存する最も良い方法は何ですか?私は文字列[]にXML設定ファイルの種類を編集するいくつかのソリューションを見たことがあるが、私はエディタで動作するようになることができます。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

私が望んでいたより少し複雑です。 1つの文字列を作成し、文字で区切り、その文字列を後で配列に分割しました。私はそれが最善の考えではないことを知っていますが、私はちょうどハハを通過するためにそれが必要でした。私は次のプロジェクトのためにあなたのアイデアを試してみましょう。 – ikathegreat

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... 
関連する問題