gpt4 book ai didi

c# - XML 中缺少标记会阻止 XmlSerializer 创建属性

转载 作者:行者123 更新时间:2023-11-30 21:05:33 25 4
gpt4 key购买 nike

我在使用 XmlSerializer 类反序列化 xml 流时遇到问题。

我有一个这样的对象:

public class Test
{
[XmlElement("data")]
public AnotherObject Data
{
get; set;
}

// other properties
}

当我尝试反序列化时它会正常工作:

<Test>
<data>...</data>
<something else... />
</Test>

但是,如果 xml 是这样的:

<Test>
<something else... />
</Test>

当我尝试读取新创建的对象的数据属性时,代码会抛出异常。如果我尝试观察该对象,调试器会打印出“无法评估异常”。

我希望该属性存在,即使在 XML 中没有相应的标记也是如此。

这有可能吗?

谢谢!

最佳答案

XML 反序列化在设置属性之前使用默认构造函数。您可以在那里将 data 属性设置为默认值,如果从反序列化中加载该属性,该属性将被覆盖。

关于c# - XML 中缺少标记会阻止 XmlSerializer 创建属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11634090/

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