SAXParser的任何替代方法,即使在发生致命错误后也会进行验证

时间:2011-08-23 04:18:36

标签: xml validation xml-parsing

我有这样的要求:

我需要从日志文件中读取事件并验证它们。即日志文件中记录的事件是根据其时间戳还是其他参数。如果记录顺序有任何错误,那么我需要向QA团队报告。

我使用的方法是读取日志文件,根据事件从中创建一个xml并验证它们。但我面对这个SaxParser的主要问题是,如果任何一个序列中有任何错误,它将停止验证。但是我的要求说我也需要验证xml的剩余部分。

示例日志文件:

时间:20111022,事件:启动市场

时间:20111022,事件:STARTB

时间:20111022,事件:EndB

时间:20111022,事件:恩达

XML由此创建:

         <A>
          <B></B>
         </A>

问题: 请考虑以下情况:

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

&LT; C>在第一个块中未正确关闭,因此SAXparser抛出错误并停止验证。它没有报告&lt; / B&gt;在第二个区块中丢失。那么有没有其他方法可以解决这个问题。我也尝试过构建错误处理程序,但一旦遇到致命错误,解析停止

1 个答案:

答案 0 :(得分:2)

我建议你考虑另一种方法。也许堆栈可用于确保日志条目正确嵌套,并且很容易清除它并在/如果检测到错误时继续。