在 C# 中对列表中的列表使用 XML 架构定义

本文关键字:列表 XML 定义 | 更新日期: 2023-09-27 18:30:49

我正在将一个类序列化为 xml using System.Xml.Serialization .

    [XmlArray("Contentlist")]
    [XmlArrayItem("Filter")]
    public List<List<String>> ContentList { get; set; }

结果:

   <Contentlist>
     <Filter>
       <string>...</string>
     </Filter>
   </Contentlist>

如何使用 XML 架构定义来替换"字符串"?

在 C# 中对列表中的列表使用 XML 架构定义

与其将ContentList定义为List<List<string>>,不如创建一个小的辅助类:

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

这应该创建一个像您描述的那样的 xml 结构。