我正在编写自定义Spring命名空间处理程序(Java)。如果XML无效,我想报告包含行号的错误消息(在解析的文档中),以便用户知道在哪里查看。但是,我不知道如何从DOM对象或其他方式检索行号。
请注意,我所说的是XSD验证未发现的错误(正确的报告行号)。
甚至可以从Namespace处理程序中获取此类信息吗?
谢谢, 的Ondrej
答案 0 :(得分:0)
如果您使用的是SAX解析器,则可以扩展DefaultLocator类并在setDocumentLocator方法中注册Locator。当事件发生时,定位器会收到通知,因此您可以调用getLineNumber()方法来获取感兴趣的行号。