2011-08-23 77 views
0

後,我有這樣的要求:任何替代方法的SAXParser這驗證甚至存在的致命錯誤

我需要閱讀從日誌文件中的事件,並對其進行驗證。即記錄在日誌文件中的事件是根據它們的時間戳還是一些其他參數。如果記錄順序中有任何錯誤,那麼我需要將其報告給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> 

< C>未正確在第一塊關閉,從而SAXParser的拋出錯誤並停止驗證。它不會在第二個區塊報告</B>丟失。有沒有其他方法可以解決這個問題。我也嘗試過構建錯誤處理程序,但一旦它捕獲致命錯誤,解析停止

回答

2

我建議您考慮另一種方法。也許可以使用堆棧來確保日誌條目正確嵌套,並且在檢測到錯誤時很容易清除它並繼續。

相關問題