You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取StackTrace之外的XML校验错误文本?

获取Schematron校验时的具体错误文本
  • 检查异常的完整信息链
    调试时不要只查看顶级异常的StackTrace,展开异常的InnerException层级,查看每个异常的Message属性。多数Schematron校验库(如Saxon、ISO Schematron实现)会把这条具体错误文本放在异常的Message中,而非仅在StackTrace里。

  • 捕获异常时输出完整信息
    在代码中捕获校验异常时,不要仅打印StackTrace,改用Exception.ToString()方法输出。这个方法会包含所有内层异常的错误消息和堆栈跟踪,你要的那条具体错误肯定会被输出。

  • 调整校验器的日志级别
    如果你使用的Schematron校验库带有日志系统(比如Saxon的日志模块),将日志级别调整为ERROR或INFO,让校验器直接把详细错误信息输出到控制台或日志文件,无需依赖调试时的堆栈跟踪。

  • 确保Schematron规则的错误消息配置正确
    如果你自定义了Schematron规则,要保证assert或report语句包含明确的错误文本,这样校验器会将其作为异常信息的一部分返回。示例规则:

<assert test="not(File/Document/Signatory/SvPred)" context="PrSubd[.='2']">当PrSubd元素值为"2"时,File/Document/Signatory/SvPred元素不应存在</assert>

内容的提问来源于stack exchange,提问作者punc1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 20:39:51