2009-10-16 29 views
7

Ứng dụng của tôi hy vọng đôi khi nó sẽ phân tích cú pháp tài liệu XML không hợp lệ. Tôi hiện đang nắm bắt "SAXParseException: Nội dung không được phép trong prolog." ngoại lệ, hoạt động tốt. Tuy nhiên, Xerces vẫn cảm thấy cần phải in thông điệp của chính nó lên bảng điều khiển:Tắt đăng nhập Java Xerces ("[Lỗi nghiêm trọng]: 1: 1: Nội dung không được phép trong prolog.")

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

Có cách nào để vô hiệu hóa tính năng này không?

Trả lời

3

Tôi tin rằng nó đang được in theo System.out hoặc System.err theo mặc định. Có một giao diện ErrorHandler bạn có thể thiết lập trên Trình phân tích cú pháp nếu bạn đang tương tác trực tiếp với các lớp Xerces.

Nếu không, bạn có thể thử thiết lập org.apache.xerces.impl.Constants.ERROR_REPORTER_PROPERTY tài sản trên SAXParser với một thể hiện của XMLErrorReporter

8

chỉ thời gian gần đây tôi đi qua cùng một nhu cầu. Đặt ErrorHandler thành null sẽ chặn dòng in Fatal Error.

parser.setErrorHandler(null); 
2

Tương đương khi sử dụng org.w3c.dom.ls.LSParser

parser.getDomConfig().setParameter("error-handler", null); 

Tôi có vấn đề này ngày hôm nay và nó bật ra được một standard configuration parameter mà tôi chỉ được tìm thấy sau khi đọc câu trả lời của bạn ở đây. Cảm ơn.

Các vấn đề liên quan