捕获异常后的xml解析和验证

时间:2011-08-17 06:24:22

标签: java xml validation xml-parsing

我有一个像这样的xml是一个有效的xml。现在如果我使用SaxParser解析它,它会完美验证。

                     <A>
                        <B>
                            <C>
                                <D/>
                            </C>
                            <C>
                                <D/>
                            </c>
                        </B>
                    </A>

考虑下一个结构不健全且无效的xml(&lt; / C&gt;缺失)。此时将抛出SaxParserException。但我需要编写一个捕获此异常的代码并继续验证此xml中的下一组标记。

                    <A>
                        <B>
                            <C>
                                <D/>

                            <C>
                                <D/>
                            </c>
                        </B>
                    </A>

有谁知道如何从它捕获异常

的位置继续验证xml

1 个答案:

答案 0 :(得分:2)

通常情况下,这是不可能的,也是不可能的。在第二个例子中,我们不知道,实际上缺少什么:它是第一个<C>之后的一个结束标记(1)还是第二个<C>之后的(2),我们是否也有(3)如果其中一个<C>代码实际上是<C>,那么许多标记会打开<C />吗?纠正文档结构的方法太多了。

无论如何,sourceforge上有一个名为xmlunit的项目,其中包含TolerantSaxDocumentBuilder声称能够处理缺少的开始和结束标记的项目。它可能已经解决了您的实际问题或。至少它指向了正确的方向:你需要一个自定义sax解析器来实现所需的行为。