Set XmlSerialize to ignore fields in their default value
-
I have the below campaign class. It is serialized to xml in my code. However, I do not want it to serialize the field if it's set to it's default value. In my case, 0 and 2001-01-01T00:00:00-08:00 for int's and datetime's respectively. How can I have the XmlSerializer ignore them? Is there a global setting for the XmlSerializer class or attributes I can set for each field?
public class campaign : RESTResource { public override String get\_endpoint\_url() { return campaign.endpoint\_url; } public static string endpoint\_url = "/campaigns/"; public int id; //if 0; don't serialize public string name; public int category\_id; if 0; don't serialize public string subject; public string body; public string thumbnail; public string notes; public int ad\_id\_source; //If 0; don't serialize public int campaign\_status\_id; //If 0; don't serialize public DateTime valid\_after; //if 2001-01-01T00:00:00-08:00, don't serialize public int billing\_code; //If 0; don't serialize public DateTime created\_at; //if 2001-01-01T00:00:00-08:00, don't serialize public DateTime updated\_at; //if 2001-01-01T00:00:00-08:00, don't serialize }
/\ |_ E X E GG
-
I have the below campaign class. It is serialized to xml in my code. However, I do not want it to serialize the field if it's set to it's default value. In my case, 0 and 2001-01-01T00:00:00-08:00 for int's and datetime's respectively. How can I have the XmlSerializer ignore them? Is there a global setting for the XmlSerializer class or attributes I can set for each field?
public class campaign : RESTResource { public override String get\_endpoint\_url() { return campaign.endpoint\_url; } public static string endpoint\_url = "/campaigns/"; public int id; //if 0; don't serialize public string name; public int category\_id; if 0; don't serialize public string subject; public string body; public string thumbnail; public string notes; public int ad\_id\_source; //If 0; don't serialize public int campaign\_status\_id; //If 0; don't serialize public DateTime valid\_after; //if 2001-01-01T00:00:00-08:00, don't serialize public int billing\_code; //If 0; don't serialize public DateTime created\_at; //if 2001-01-01T00:00:00-08:00, don't serialize public DateTime updated\_at; //if 2001-01-01T00:00:00-08:00, don't serialize }
/\ |_ E X E GG