使用可选标签反序列化 XML

2023-12-06

我有一个带有可选标签的 XML,如下所示:

<Config>
    <CheckForCompleteTransform>true</CheckForCompleteTransform>
    <!-- more tags -->
</Config>

以及类定义:

public class config {
    [System.Xml.Serialization.XmlElement("CheckForCompleteTransform")]
    public bool? CheckForCompleteTransform { get; set; }
}

如果我将标签设置为我在上面的示例 XML 中提供的标签,或者完全忽略它,则此方法有效。但是如果我将标签提供为<MyTag/>?如果使用此表示法,我希望序列化器将我的类中的相应属性设置为 true,但我会得到一个

System.FormatException:字符串文字 '' 对于类型无效 布尔值

关于如何实现这一目标有什么想法吗?


检查这个here

你可以使用[XmlElement("CheckForCompleteTransform", IsNullable=true)]类中的 CheckForCompleteTransform 属性

public class config
    {
        [XmlElement("CheckForCompleteTransform", IsNullable = true)]
        public bool? CheckForCompleteTransform { get; set; }
    }

and add xsi:nil =“真”像这样的 CheckForCompleteTransform 标签的属性

<CheckForCompleteTransform xsi:nil="true" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用可选标签反序列化 XML 的相关文章