在java中使用“未封闭标签”解析html

问题描述:

我的问题很简单: 有没有办法将java中的html解析为DOM文档,如果在htmlcontent中有像这样的img-tag?在java中使用“未封闭标签”解析html

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

这是Codesnippet,让我的SAXException在解析这些元素:

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

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

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

+0

工作非常适合我,谢谢! – billdoor 2012-07-12 14:53:52

+0

随时批准答案 – Florent 2012-07-12 15:03:13

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

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

+0

+1 openSoruces链接 – 2012-07-12 14:57:14

HTML不是XML。

除了使用XHTML时。

所以没有理由XML解析器应该解析您的HTML。

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