在java中解析带有“unclosed tags”的html

时间:2012-07-12 14:43:06

标签: java html parsing

我的问题很简单: 有没有办法将java中的html解析为DOM-Document,如果htmlcontent中有这样的img-tag标签?

<p><img src="..."></p>

这是在解析这些元素时给我一个SAXException的Codesnippet:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();

InputStream is = new ByteArrayInputStream( htmlcontent.getBytes());
Document dom = db.parse(is);
is.close();

4 个答案:

答案 0 :(得分:3)

我不这么认为,但jsoup可以做到这一点。它不是DOM API,但它非常相似。

答案 1 :(得分:1)

您不能使用DocumentBuilder,因为它是XML解析器。

但你需要一个HTML解析器,如:

答案 2 :(得分:1)

答案 3 :(得分:0)

HTML不是XML。

除非您使用的是XHTML。

因此,XML解析器没有理由解析您的HTML。

使用像HtmlCleaner这样的HTML解析器。