Любой альтернативный подход к SAXParser, который проверяет даже после возникновения фатальной ошибки - PullRequest
0 голосов
/ 23 августа 2011

У меня есть такое требование:

Мне нужно прочитать события из файлов журнала и проверить их. то есть, соответствуют ли события, зарегистрированные в файлах журнала, их временным меткам или некоторым другим параметрам. Если в последовательности регистрации ошибок есть какие-либо ошибки, я должен сообщить об этом команде QA.

Подход, который я использовал, состоял в том, чтобы прочитать файл журнала, создать xml из него на основе событий и проверить их. Но главная проблема, с которой я сталкиваюсь с этим SaxParser, заключается в том, что, если в какой-либо последовательности есть какая-либо ошибка, она прекращает валидацию. Но мое требование говорит, что мне нужно проверить и оставшуюся часть xml.

Пример файла журнала:

Время: 20111022, событие: Старт

Время: 20111022, событие: StartB

Время: 20111022, событие: EndB

Время: 20111022, событие: EndA

XML, созданный из этого:

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

Проблема: Рассмотрим этот сценарий:

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

неправильно закрывается в 1-м блоке, поэтому SAXparser выдает ошибку и прекращает проверку. Он не сообщает об отсутствии во втором блоке. Так есть ли альтернативный подход для решения этой проблемы. Я также пытался создать обработчик ошибок, но как только он перехватывает фатальную ошибку, анализ останавливается

1 Ответ

2 голосов
/ 23 августа 2011

Я рекомендую вам рассмотреть другой подход.Возможно, стек можно использовать для обеспечения правильного вложения записей журнала, и его будет легко очистить и продолжить, когда / если обнаружена ошибка.

...