繁体   English   中英

如何使XmlSerializer.Deserialize更严格?

[英]How can I make XmlSerializer.Deserialize more strict?

我有一些非常相似的XML结构,它们实际上是截然不同的,但是XmlSerializer.Deserialize看起来非常“宽容”,并且会竭尽全力将XML并反序列化为我从源XSD创建的强类型对象。 有什么方法可以使其更严格,或者进行某种类型的更深入的验证?

// Locals
var serializer = new XmlSerializer(typeof(SomeCustomType));

// Set
var someInstance = serializer.Deserialize(new StringReader(xmlString.ToString()))

@Jeff因为根节点相似,所以它将反序列化为完全不同的对象。 假设您有房子,汽车和船,并且它们都共享一个名为item的基本根节点,并具有一些属性。 即使子节点无效且未共享,它似乎也忽略并原谅了这一点。

@我不想针对XSD进行验证。 我想以某种方式使Deserializer看到它所拥有的数据不应该变成错误的Object类型。

问题是XML输入不正确。

我曾经使用验证读取器将XML读入反序列化器中,以根据模式验证XML。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM