我正在尝试将来自Web服务的XML反序列化为C# POCOs。对于我大部分需要的属性,我已经做到了这一点,但是我需要根据元素是否存在设置一个布尔属性,但似乎不知道如何做到这一点?
一个示例XML片段:
一个示例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 和对象层次结构的非常简化的示例,但展示了我试图实现的内容。
我阅读过的所有与反序列化空元素相关的其他问题似乎都涉及使用 Nullable<T>
,但这不是我需要的。
有人有什么想法吗?