我正在使用将XmlSerializer
类序列化为 XML。该类包含一些布尔属性,它们像这样被序列化:
public bool Boolean1;
public bool Boolean2;
<Boolean1>true</Boolean1>
<Boolean2>false</Boolean2>
我希望生成的 XML 看起来像这样:
<Boolean1/>
也就是说,真正的布尔值将显示为一个空标签,而虚假的布尔值则根本不会出现。如果布尔值为假,我可以向两个布尔值添加一个ShouldSerializeX
方法以使元素消失,但是如果元素为真,我如何让标签名称没有内容?
另外,是否有某种[XmlIgnoreIfNull]
或[XmlIgnoreIfDefault]
属性会使大多数ShouldSerialize
方法变得多余?