我有一个正在反序列化的对象,其中包含枚举“JourneyPatternLinkDirectionEnumeration”,它用作节点“Direction”的值。
当“Direction”指定了一个值,或者未指定并且它在 xml 中表示为
<Direction />
一切正常。但是,如果它在 xml 中为
<Direction></Direction>
我收到以下错误:
“实例验证错误:‘’不是
的有效值
JourneyPatternLinkDirectionEnumeration。”
我的代码如下:
var xmlTextReader = new XmlTextReader(xmlDocUri);
xmlTextReader.WhitespaceHandling = WhitespaceHandling.None;
xmlTextReader.Normalization = false;
var serializer = new XmlSerializer(typeof(T), typeof(T).Assembly.GetTypes());
ouput = (T)serializer.Deserialize(xmlTextReader);
有什么想法吗?有一个更好的方法吗。
(抱歉,我无法发布完整代码,xml 文档是 65000 行 TransXchange 文档)
我认为你在这里没有选择,如果这是一个错误,那就是一个错误。更改源 XML,或将值声明为字符串,并提供非序列化枚举包装器属性,或为实现 IXmlSerialized 的枚举类型创建包装器类。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)