2009-10-16 11 views
7

Moja aplikacja oczekuje, że czasami będzie próbować parsować nieprawidłowe dokumenty XML. Obecnie łapię "SAXParseException: Treści nie są dozwolone w prologu." wyjątek, który działa dobrze. Jednak Xerces nadal czuje potrzebę wydrukowania własnej wiadomości na konsolę:Wyłącz rejestrowanie Java Xerces ("[Błąd krytyczny]: 1: 1: Treść nie jest dozwolona w prologu.")

[Fatal Error] :1:1: Content is not allowed in prolog. 

Czy istnieje sposób, aby to wyłączyć?

Odpowiedz

3

Wydaje mi się, że domyślnie drukuje do System.out lub System.err. Istnieje interfejs ErrorHandler, który można ustawić w analizatorze składni, jeśli bezpośrednio wchodzisz w interakcję z klasami Xerces.

W przeciwnym razie, można spróbować ustawić org.apache.xerces.impl.Constants.ERROR_REPORTER_PROPERTY nieruchomości na SAXParser z instancją XMLErrorReporter

8

Właśnie niedawno natknąłem się na samej potrzebie. Ustawienie wartości ErrorHandler na wartość null powoduje usunięcie linii drukowania Fatal Error.

parser.setErrorHandler(null); 
Powiązane problemy