【发布时间】:2023-03-28 17:25:01
【问题描述】:
我已经使用 XSD.exe 工具创建了一个表示 XSD 的 C# 类。 我使用验证代码来检查 XML 与 XSD 的一致性。 我得到了这个工作,但使用另一个 XML 文件会导致异常。
XML 文件由外部程序生成,我无权访问原始代码或已发布的 XSD。
在反序列化期间读取 XML 时出现异常:
enter System.InvalidOperationException was unhandled
HResult=-2146233079 Message=Het XML-document (235, 17) 包含错误。
该错误被描述为试图将字符串转换为 DateTime 格式(这不能是正确的描述)。
我认为 (235,17) migt 表示文档中的位置,但这与调用堆栈不一致。
我的问题:对于这类问题,您能帮我制定一个好的调试策略吗?我想确切地知道异常发生在 XML 中的哪一行,但不知道该怎么做。
【问题讨论】:
-
为什么不能正确描述您的问题?
-
"(235, 17)"是发生错误的行号和字符号where the first line is line one 和the first character is character one。 IE。 XML 文件从第 1 行而不是第 0 行开始,并且该行的第一个字符是字符 1 而不是字符 0。 -
异常报告 String 到 DateTime 的转换对我来说没有意义,因为我在此应用程序中不使用 DateTime 数据类型。所以我真的很困惑。我今天将解决这个问题,看看所有好的建议是否对我有帮助。
-
@RudolfJan - 如果您发布包括回溯在内的异常的整个
ToString()输出,我们可能会提供更多帮助。
标签: c# serialization xsd.exe