我正在尝试将 Web 服务中的一些 XML 反序列化为 C# POCO。我已经为我需要的大多数属性都工作了,但是,我需要根据元素是否存在来设置 bool 属性,但似乎看不到如何做到这一点?
一个示例 XML 片段:
<someThing test="true">
<someThingElse>1</someThingElse>
<target/>
</someThing>
一个示例 C# 类:
[Serializable, XmlRoot("someThing")]
public class Something
{
[XmlAttribute("test")]
public bool Test { get; set; }
[XmlElement("someThingElse")]
public int Else { get; set; }
/// <summary>
/// <c>true</c> if target element is present,
/// otherwise, <c>false</c>.
/// </summary>
[XmlElement("target")]
public bool Target { get; set; }
}
这是我正在处理的实际 XML 和对象层次结构的一个非常简化的示例,但演示了我想要实现的目标。
我读过的与反序列化空/空元素相关的所有其他问题似乎都涉及 using Nullable<T>
,这不能满足我的需要。
有没有人有任何想法?