![]() |
1
0
如果您有描述文档的模式,那么可以在反序列化时使用带验证的XmlReader。处理验证错误,您将能够为您的用户提供比他们想要的更详细的信息。 请注意,XML模式验证错误不是非常用户友好的。您可能希望朝相反的方向工作:使您的用户更难输入无效的文档。使用类似于InfoPath的工具,将表单UI置于XML实例文档之上,这是一种实现这一点的方法。 另一种方法是在Visual Studio Express 2008中使用XML编辑器。如果您向它提供模式,它不仅将验证XML,还将提供IntelliSense—它将显示有效的下一个元素或属性,甚至将显示包含模式文档的工具提示。
你要找的东西是不可能做到的。您所指的许多语义错误都将在序列化过程的某个深度显示为异常。第一个异常将终止进程。您只能在呼叫之外捕获这样的异常
如果您通过实现
|
![]() |
2
0
有关XML序列化疑难解答的此msdn文章可能有帮助-- http://msdn.microsoft.com/en-us/library/aa302290.aspx 表示:
澄清——如果您可以导致对象在反序列化过程中自我验证并失败,那么在您拥有所有上下文的时候,这将是获取问题位置的最佳方法。 |
![]() |
3
-1
我将为包含错误的对象生成xpath,然后使用xdocument查找相应的XML元素。
这不是很有效的做法。如果有人知道更好的方法来查找反序列化对象的行号,请写在注释中。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
pseudodev · 失败的测试仅显示堆栈跟踪,不显示完整日志 5 月前 |
![]() |
CactusCake · if语句中应有分号 6 月前 |
![]() |
Bin4ry · 子文件夹中的应用程序设置 7 月前 |