捕获异常后的xml解析和验证
我有一个像这样的 xml,它是一个有效的 xml。现在,如果我使用 SaxParser 解析它,它会完美验证。
<A>
<B>
<C>
<D/>
</C>
<C>
<D/>
</c>
</B>
</A>
考虑下一个 xml,它的结构不好且无效(缺少 )。此时它将抛出 SaxParserException。但我需要编写一段代码来捕获此异常并继续验证此 xml 中的下一组标签。
<A>
<B>
<C>
<D/>
<C>
<D/>
</c>
</B>
</A>
有谁知道如何从捕获异常的地方继续验证 xml
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通常这是不可能的,也不应该是可能的。在第二个示例中,我们不知道实际上缺少什么:是在第一个
之后缺少一个结束标记 (1) 还是在第二个 之后缺少一个结束标记 (2)
,我们是否有 (3) 太多的开始
标记,其中一个
标记实际上应该读取< C >> ?纠正文档结构的方法太多了。
无论如何,sourceforge 上有一个名为 xmlunit 的项目,其中包含一个
TolerantSaxDocumentBuilder
声称能够处理丢失的开始和结束标签。它可能已经解决了您的实际问题或。至少它指向正确的方向:您需要一个自定义 sax 解析器来实现所需的行为。Usually it's not possible and shouldn't be possible. At you second example, we have no idea, what's actually missing: is it one end tag (1) after the first
<C>
or (2) after the second<C>
, do we have (3) too many opening<C>
tags, should one of the<C>
tags actually read<C />
? Far too many ways to correct the document structure.Anyway, there is a project called xmlunit on sourceforge which contains a
TolerantSaxDocumentBuilder
that claims to be able to handle missing start and end tags. It may already solve your actual problem or. At least it points in the right direction: you need a custom sax parser that implements the required behaviour.