[Java Xml] SAX Error – Content is not allowed in prolog

Chào các bạn, trong bài viết này, chúng ta sẽ cùng tìm hiểu về cách khắc phục lỗi Content is not allowed in prolog

Vấn đề
Giả sử chúng ta đang làm việc với file Xml thông qua SAX parser, nhưng khi nó xử lý, nó báo lỗi sau:

Code:
org.xml.sax.SAXParseException: Content is not allowed in prolog.
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    //...
Giải pháp
Lỗi này xảy ra bởi nội dung XML không hợp lệ tại thẻ mở của xml element. Ví dụ: thêm dấu chấm "." vào đầu Xml element.

Bất kỳ ký tự nào trước thẻ "<? Xml...." sẽ gây ra lỗi “org.xml.sax.SAXParseException: Content is not allowed in prolog”.

Có một dấu chấm "." trước thẻ “<?xml…."

XML:
.<?xml version="1.0"?>
<company>
    <staff>
        <firstname>yong</firstname>
        <lastname>mook kim</lastname>
        <nickname>mkyong</nickname>
        <salary>100000</salary>
    </staff>
    <staff>
        <firstname>low</firstname>
        <lastname>yin fong</lastname>
        <nickname>fong fong</nickname>
        <salary>200000</salary>
    </staff>
</company>

Để khắc phục, chỉ cần xóa tất cả các ký tự lạ đó trước khi thẻ <? Xml".


Cám ơn các bạn đã theo dõi. Hẹn gặp lại các bạn trong các bài viết sau :)

Bài viết tham khảo tại: https://mkyong.com/java/sax-error-content-is-not-allowed-in-prolog
 

Bình luận