繁体   English   中英

如何使用XML序列化器序列化为“具有属性的集合”

[英]How to Serialize to a “Collection with an Attribute” Using the XML Serializer

我有这个模型:

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

这给了我这个:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM