我有一個用於Xml序列化的類。如果在空或空的情況下忽略序列化的可空屬性?
裏面,我有裝飾着XmlAttribute可爲空的屬性:
[XmlAttribute("lastUpdated")]
public DateTime? LastUpdated { get; set; }
如何忽略序列化的屬性,如果爲空或空?
我已經試過以下,但如果有一個值(始終忽略),它不序列:
[XmlIgnore]
public DateTime? LastUpdatedValue { get; set; }
[XmlAttribute("lastUpdated")]
public DateTime LastUpdated { get; set; }
public bool ShouldSerializeLastUpdated()
{
return LastUpdatedValue.HasValue;
}
你見過這個http://stackoverflow.com/questions/244953/serialize-a-nullable-int?rq=1 – Yahya 2013-04-23 14:56:59
你有什麼期待XML的樣子?在這種情況下,如果屬性爲null,則會得到' ';你可以後處理你的XML(更容易),或者你可以寫一個XmlWriter類(更難,表現更好)。還有其他的選項既困難又膨脹你的代碼。 –
2013-04-23 14:57:57
不,我只是想忽略xmlattribute,如果它是空的。但是DateTime?不可序列化。如何更換它? – 2013-04-23 15:09:13