3

次のような文字列のコレクションを含む XML 構成ファイルがあります。

<SomeSetting>value</SomeSetting>
<SomeOtherSetting>value</SomeOtherSetting>
<TypesOfThings>
  <Thing>Type 1</Thing>
  <Thing>Type 2</Thing>
  <Thing>Type 3</Thing>
</TypesOfThings>

これらの「モノ」は、ユーザーが選択できるアプリのフロント エンドのオプションになります。

私の質問は、シリアライゼーションを適切に使用するためにモノのクラスを作成する必要がありますか、または属性を使用して文字列をリストに直接読み取る方法はありますか?

例 (本文とプライベート変数は簡潔にするために削除されています。これは .NET 2.0 です):

[Serializable]
public class Config
{
   public string SomeSetting
   { 
        get;
        set;
   }


   public string SomeOtherSetting
   { 
        get;
        set;
   }

   public List<string> TypesOfThings
   {
      get;
      set;
   }
}
4

1 に答える 1

7

XmlArrayAttributeを使用してシリアル化する方法を指定します。

[XmlArray(ElementName = "TypesOfThings")]
[XmlArrayItem(ElementName="Thing")]
public List<string> TypesOfThings
{
   get;
   set;
}

編集:項目の名前は、実際にはXmlArrayItemAttributeを使用して指定されます

于 2008-11-24T11:41:17.767 に答える