C# 在C中为列表中的列表使用XML模式定义

C# 在C中为列表中的列表使用XML模式定义,c#,xml-serialization,C#,Xml Serialization,我正在使用System.xml.Serialization将一个类序列化为xml 结果: <Contentlist> <Filter> <string>...</string> </Filter> </Contentlist> 如何使用XML架构定义替换字符串?您可以创建一个小的帮助器类,而不是将ContentList定义为List: public class YourSeri

我正在使用System.xml.Serialization将一个类序列化为xml

结果:

   <Contentlist>
     <Filter>
       <string>...</string>
     </Filter>
   </Contentlist>
如何使用XML架构定义替换字符串?

您可以创建一个小的帮助器类,而不是将ContentList定义为List:

public class YourSerializedClass
{
    [XmlArrayItem("Filter")]
    public List<Filter> ContentList { get; set; }
}

public class Filter
{
    [XmlElement("FilterItem")]
    public List<string> FilterItems { get; set; }
}
这将创建一个如您所述的xml结构。

如果助手类被称为Filter,您甚至可以省略property ContentList中的XmlArrayItemAttribute
public class YourSerializedClass
{
    [XmlArrayItem("Filter")]
    public List<Filter> ContentList { get; set; }
}

public class Filter
{
    [XmlElement("FilterItem")]
    public List<string> FilterItems { get; set; }
}