Văn bản quasi html, trông giống như: Simple<br> text <b>simple</b> text simple <BR><BR>text simple text
, tôi muốn phân tích cú pháp và tạo dom document. Nhưng vấn đề là với thẻ không khép kín, khi tôi cố gắng này:Cách phân tích văn bản quasi-html trong java?
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputSource source = new InputSource(new StringReader(
Document doc = builder.parse(source);
Lỗi xảy ra: org.xml.sax.SAXParseException; The element type "br" must be terminated by the matching end-tag
Tôi không muốn thay thế tất cả <br>
bởi <br></br>
, bất kỳ giải pháp hay lời khuyên?
Có thể bạn không thể đưa nó vào DOM. Bạn cần phải sử dụng một trình phân tích cú pháp HTML khoan dung như [jSoup] (http://jsoup.org/) - nó sẽ thử và sửa HTML khi nó đi. Một chút giống như một trình duyệt web. –
Tôi nghĩ rằng nó có thể được thực hiện với HTMLEditorKit ... – linski
@BoristheSpider không cần jSoup nó có thể được thực hiện với Java tiêu chuẩn, xem câu trả lời của tôi. – linski