在反序列化之前是否需要验证XML字符串?

时间:2014-04-25 15:09:36

标签: c# .net xml deserialization

我是否需要注意验证我对模式文档进行反序列化的XML字符串,还是依赖反序列化过程来执行此操作? (即检测反序列化过程中的错误)

2 个答案:

答案 0 :(得分:1)

这取决于您从哪里获取XML - 如果它来自不受信任的来源(即您没有编写它;它只是一个带有XML扩展的流或文件),那么使用XmlValidatingReader类实例。

只是因为某些东西带有" .xml"文件扩展名并不意味着它的XML。还取决于调用的频率 - 例如,我不打算从SOAP调用验证返回,因为我的WCF / SOAP库中的一致性检查水平更高。

答案 1 :(得分:0)

应该在写入时进行模式验证。您需要捕获反序列化中的任何错误 - 但这些错误的原因并不重要。例如你可以验证架构,而仍然得到反序列化错误。