2008-11-24 43 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