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