[英]Default property for a class when deserialize XML to an object
我有一堂課,看起來像這樣。
[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]以來,它設置了正確的類型屬性,但是如何指定Reference元素(SHPROD00324)中的數據放置在名為Identifier的屬性中?
我正在尋找一種告訴反序列化的方法,如果在Reference元素中指定了任何值,則它應該采用該值並將其設置在identifier屬性中。
提前致謝。
最好的問候馬格努斯
我不確定是否可以通過屬性值指定此名稱,但是您的類可以實現System.Xml.Serialization.IXmlSerializable並重寫ReadXml方法以反序列化其自身(但需要這樣做)。
嘗試這個
[DataMember]
[XMLText]
public string Identifier { get; set; }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.