【发布时间】:2015-06-04 20:58:23
【问题描述】:
我正在使用 XML 序列化来读取大型用户输入文件。如果在阅读过程中没有发现输入中的语义错误,我希望能够告诉用户他们可以在哪里(文件、行、列)找到有问题的元素。这可以通过 XML 序列化实现吗?
澄清:有问题的代码是 Compact Framework 的 IoC 容器;许多可能的语义错误与初始化最终对象图时的反射失败等事情有关。这些实际上是运行时错误,而不是读取时或编译时错误。但是,我想告诉他们不仅属性集失败是因为 Blah 类没有属性 Fred,而且有问题的属性集位于 Objects.xml 的第 1337 行。
- 错误不会导致反序列化异常。输入对反序列化目的有效,并且不包含语法或数据类型错误。
- 无法通过启用架构验证来检测错误。输入在示意上是有效的。
- 在读取/反序列化过程中无法检测到错误,因为目标对象的类型可能尚未解析。
【问题讨论】:
-
你想把行号信息放在哪里?我认为没有 IXmlSerializable 就没有办法做到这一点。
-
@John:Martin 自己使用序列化类here。