У меня есть класс, который используется для Xml Serialization.Как игнорировать свойство nullable из сериализации, если оно пустое или пустое?
, внутри которого у меня есть обнуляемое имущество, украшенная 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
Что вы ожидаете XML выглядеть? В этом случае вы получите ' ', если свойство равно null; вы можете либо выполнить пост-процесс xml (проще), либо написать класс XmlWriter (сложнее, работает лучше). Существуют и другие варианты, которые являются сложными и раздувают ваш код. –
no Я просто хочу игнорировать xmlattribute, если он равен нулю. но DateTime? не является сериализуемым. Как его заменить? –