XML 反序列化:将缺失元素反序列化为 null 属性值
我的 xml 文档有一个可以包含多个子元素的元素。在我的类中,我将该属性声明为:
[XmlArray("files", IsNullable = true)]
[XmlArrayItem("file", IsNullable = false)]
public List<File> Files { get; set; }
在反序列化期间,如果缺少
元素,我希望 Files 属性为 null。然而,发生的情况是 Files 被反序列化为空 List 对象。我该如何防止这种情况发生?
My xml document has a element that can contains multiple child elements. In my class, I declare the property as:
[XmlArray("files", IsNullable = true)]
[XmlArrayItem("file", IsNullable = false)]
public List<File> Files { get; set; }
During deserialization, if the <files>
element is missing, I want the Files property to be null. However, what happens is that Files is deserialized into an empty List object. How do I prevent that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实现这一目标的一个选项是列表的封装:
这里,如果没有
,Foo.Files
将为null
元素。One option that achieves that is encapsulation of the list:
Here,
Foo.Files
will benull
if there is no<files/>
element.