Ho una classe piuttosto grande da serializzare come Xml, e al fine di ridurre lo spazio sprecato vorrei selettivamente XmlIgnore alcune delle proprietà di classe. Per esempio, una proprietà nella classe viene assegnato un valore solo uno su dieci volte o giù di lì, e se codifico l'attributo serializzazione come segueSi può usare XmlAttributes per XmlIgnore in modo selettivo?
[XmlAttribute]
public String WorkClass
{
get { return _workClass; }
set { _workClass = value; }
}
Se non c'è alcun valore (la maggior parte del tempo) questo è serializzato più e più volte come
WorkClass=""
esiste un'opzione o un attributo che ignora la proprietà per la serializzazione se il suo valore è vuoto, ma non ignorarlo se non è vuota?
È fantastico! È anche IMHO non intuitivo. Mi sarei aspettato una sorta di modificatore sull'attributo serializzazione, sai, qualcosa come [XmlAttribute (IgnoreOnNullOrEmpty = "true")]. – Cyberherbalist