gpt4 book ai didi

c# - 更改 XmlSerializer 序列化空元素的方式

转载 作者:行者123 更新时间:2023-11-30 13:42:01 24 4
gpt4 key购买 nike

我正在使用 XmlSerializer。它很好地序列化了对象,但客户端要求所需的空元素采用这种格式 <star:Confirm/> .序列化程序将空元素序列化为 <star:Confirm></star:Confirm>有没有办法改变它以序列化客户端需要的方式。

最佳答案

在尝试了不同的事情之后,我偶然发现了解决方案。我设置了 XmlElementAttribute.IsNullable像之前建议的答案一样真实。

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

然后在代码中设置确认类型时,我使用默认构造函数而不是将确认设置为空。

retval.ConfirmBODDataArea.Confirm = new ConfirmType();

这个序列化为<star:Confirm/>

关于c# - 更改 XmlSerializer 序列化空元素的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3935582/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com