我有一个看起来像这样的课程。
[Serializable]
[DataContract()]
[XmlType(AnonymousType = true)]
public partial class Reference
{
//-- Constructor
public Reference() { }
//-- Properties
[DataMember]
[XmlAttribute()]
public string Type {get;set;}
[DataMember]
public string Assignor { get; set; }
[DataMember]
public string Identifier { get; set; }
[DataMember]
public string System { get; set; }
[DataMember]
public string Format { get; set; }
[DataMember]
public string Value { get; set; }
然后我得到了一些我希望反序列化到这个类中的XML,它看起来像这样。
<References>
<Reference Type="ShipmentId">SHPROD00324</Reference>
</References>
它自[XMLAttribute]以来设置Type属性是正确的,但是如何指定Reference元素(SHPROD00324)中的数据放在我的名为Identifier的属性中?
我正在寻找的是一种告诉反序列化的方法,如果在Reference元素中指定了任何值,那么它应该采用该值并将其设置在identifier属性中。
提前致谢。
祝你好运 马格努斯
答案 0 :(得分:1)
我不确定您是否可以通过属性值指定它,但是您的类可以实现System.Xml.Serialization.IXmlSerializable并覆盖ReadXml方法以对其自身进行反序列化,但是它需要。
答案 1 :(得分:1)
试试这个
[DataMember]
[XMLText]
public string Identifier { get; set; }