gpt4 book ai didi

C# xml序列化

转载 作者:数据小太阳 更新时间:2023-10-29 02:42:28 25 4
gpt4 key购买 nike

我正在用 C# 将对象序列化为 xml,我想序列化

public String Marker { get; set; }

进入

<Marker></Marker>

当字符串 Marker 没有值时。

现在我明白了

<Marker />

Marker == string.Empty 并且 null 没有标记节点。我怎样才能得到这个?

最佳答案

您可以轻松抑制 <Marker>元素如果 Marker属性为空。只需添加一个 ShouldSerializeMarker()方法:

public bool ShouldSerializeMarker()
{
return Marker != null;
}

它会被XmlSerializer自动调用决定是否在输出中包含该元素。

关于使用 <Marker> 的扩展形式元素,当字符串为空时,没有简单的方法来做到这一点(您可以可能编写自己的 XmlWriter ,但这会很痛苦)。但无论如何它没有意义,因为<Marker /><Marker></Marker>具有完全相同的含义。

关于C# xml序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5817160/

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