![]() |
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元素。
这不是很有效的做法。如果有人知道更好的方法来查找反序列化对象的行号,请写在注释中。 |
![]() |
Karine Mellata · 序列化零散项以进行XML输出 7 年前 |
![]() |
kevp · 如何序列化没有值的整数元素? 7 年前 |
![]() |
Eve · Web api-xml前缀 8 年前 |
![]() |
veili_13 · 如何在自动生成的WSDL中忽略序列化的属性? 9 年前 |
|
SacDeFromage · 序列化具有接口的对象 9 年前 |
![]() |
Laurence · 通过WCF服务公开域模型数据的最佳方法 9 年前 |
|
EAX · C语言中的递归序列化# 9 年前 |