gpt4 book ai didi

.net - XML 反序列化 : Deserialize missing element into null property value

转载 作者:数据小太阳 更新时间:2023-10-29 01:51:57 24 4
gpt4 key购买 nike

我的 xml 文档有一个元素可以包含多个子元素。在我的类里面,我将该属性声明为:

[XmlArray("files", IsNullable = true)]
[XmlArrayItem("file", IsNullable = false)]
public List<File> Files { get; set; }

在反序列化过程中,如果 <files>元素丢失,我希望 Files 属性为 null。但是,发生的情况是 Files 被反序列化为一个空的 List 对象。我该如何防止呢?

最佳答案

实现这一点的一个选项是封装列表:

public class Foo
{
[XmlElement("files", IsNullable = true)]
public FooFiles Files { get; set; }

}
public class FooFiles
{
[XmlElement("file", IsNullable = false)]
public List<File> Files { get; set; }
}

在这里,Foo.Files将是 null如果没有 <files/>元素。

关于.net - XML 反序列化 : Deserialize missing element into null property value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6927452/

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