C# 如何序列化为“a”;属性为“的集合”;使用XML序列化程序

C# 如何序列化为“a”;属性为“的集合”;使用XML序列化程序,c#,xml,serialization,xml-serialization,C#,Xml,Serialization,Xml Serialization,我有这个模型: [XmlArray(ElementName = "Listing")] [XmlArrayItem(ElementName = "Classification")] public List<Classification> classifications { get; set; } [XmlRoot("Listing")] public class Classification { [XmlAttribute("Name")] public str

我有这个模型:

[XmlArray(ElementName = "Listing")]
[XmlArrayItem(ElementName = "Classification")]
public List<Classification> classifications { get; set; }

[XmlRoot("Listing")]
public class Classification
{
     [XmlAttribute("Name")]
     public string name { get; set; }

     [XmlText]
     public string Value { get; set; }
}
[XmlArray(ElementName=“Listing”)]
[XmlArrayItem(ElementName=“分类”)]
公共列表分类{get;set;}
[XmlRoot(“列表”)]
公共类分类
{
[XmlAttribute(“名称”)]
公共字符串名称{get;set;}
[XmlText]
公共字符串值{get;set;}
}
这给了我这样的信息:

<Listing>
<Classification Name="Location">AsiaPacific</Classification>
</Listing>

亚洲太平洋
我应该如何修改我的类以获得以下内容:

<Listing reference = "MyReference">
<Classification Name="Location">AsiaPacific</Classification>
</Listing>

亚洲太平洋
经过几(数百)次尝试和错误,我通过将模型修改为:

[XmlElement(ElementName = "Listing")]
public ClassificationWrapper classificationWrapper { get; set; }

public class ClassificationWrapper
{
    [XmlAttribute("reference")]
        public string ref= "MyReference";

        [XmlElement("Classification", typeof(Classification))]
        public List<Classification> classifications { get; set; }

public ClassificationWrapper() { this.classifications = new List<Classification>(); }
}
public class Classification
{
       [XmlAttribute("Name")]
       public string name { get; set; }

       [XmlText]
       public string Value { get; set; }
}
[xmlement(ElementName=“Listing”)]
public ClassificationWrapper ClassificationWrapper{get;set;}
公共类ClassificationWrapper
{
[XmlAttribute(“引用”)]
公共字符串ref=“MyReference”;
[XmlElement(“分类”,类型(分类))]
公共列表分类{get;set;}
public ClassificationWrapper(){this.classifications=new List();}
}
公共类分类
{
[XmlAttribute(“名称”)]
公共字符串名称{get;set;}
[XmlText]
公共字符串值{get;set;}
}