2008-11-24 47 views
3

我有一個字符串的集合XML配置文件,如下所示:De序列化字符串列表而不創建新類?

<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; 
    } 
} 

回答

7

您指定它應該使用XmlArrayAttribute序列化的方式:

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

編輯:項目的名稱是使用XmlArrayItemAttribute