C#::XmlSerializer::デフォルト値のとき出力を省略
デフォルト値(0とか)が入っているプロパティをシリアライズしないようにするには、System.ComponentModel.DefaultValueAttribute属性で規定値を定義する。
[XmlType("entry")] public class Entry { /// <summary>オーダー</summary> [XmlAttribute("order")] [System.ComponentModel.DefaultValue(-1)] public int Order = -1; [XmlText] public string Message{ get;set;} }
こんな感じのクラスであれば、Orderが-1のときorder="-1"という属性を生成しない。
ほぼ規定値で使用するプロパティに使用すると生成されるXMLが若干すっきりします。