change how XmlSerializer serializes empty elements

后端 未结 2 422
滥情空心
滥情空心 2020-12-18 11:49

I am using the XmlSerializer. It serializes the object just fine but the client requires required empty elements to be in this format . Th

相关标签:
2条回答
  • 2020-12-18 12:20

    You can try setting the XmlElementAttribute.IsNullable property to true. However, bear in mind xsi:nil="true" attribute will be output as a consequence.

    0 讨论(0)
  • 2020-12-18 12:39

    After trying different things I accidentally happened upon the solution. I set the XmlElementAttribute.IsNullable to true like the previous answer suggested.

    [System.Xml.Serialization.XmlElementAttribute(ElementName = "Confirm", IsNullable=true)]
        public ConfirmType Confirm
        {
            get
            {
                return this.confirmField;
            }
            set
            {
                this.confirmField = value;
                this.RaisePropertyChanged("Confirm");
            }
        }
    

    Then when setting the confirm type in the code I used the default constructor instead of setting Confirm to null.

    retval.ConfirmBODDataArea.Confirm = new ConfirmType();
    

    This serialized as <star:Confirm/>

    0 讨论(0)
提交回复
热议问题