可以解析HTML文档并构建DOM树(java)

时间:2009-09-16 14:15:07

标签: java html dom parsing html-content-extraction

是否可以使用哪些工具将html文档解析为字符串或文件,然后构建DOM树,以便开发人员可以通过某些API遍历树。

例如:

DomRoot = parse("myhtml.html");

for (tags : DomRoot) {
}

注意:这是一个不是XHtml的HTML文档。

5 个答案:

答案 0 :(得分:4)

您可以使用TagSoup - 它是一个SAX兼容解析器,可以将格式错误的内容(如HTML)从通用网页清理为格式良好的XML。

This is <B>bold, <I>bold italic, </b>italic, </i>normal text

gets correctly rewritten as:

This is <b>bold, <i>bold italic, </i></b><i>italic, </i>normal text.

答案 1 :(得分:2)

JTidy应该让你做你想做的事。

用法非常简单,但解析是可配置的。 e.g:

InputStream in = ...;
Tidy tidy = new Tidy();
// configure Tidy instance as required
...
...
Document doc = tidy.parseDOM(in, null);
Element root = doc.getDocumentElement();

JavaDoc托管here

答案 2 :(得分:1)

您可以查看NekoHTML,这是一个在您的文档中执行尽力清理和标记平衡的Java库。这是一种解析格式错误的HTML(或无效的XML)文件的简便方法。

它是在Apache 2.0许可下发布的。

答案 3 :(得分:0)

HTML Parser似乎支持从HTML转换为XML。然后,您可以使用常用的Java工具链构建DOM树。

答案 4 :(得分:0)

有几种开源工具可以解析Java中的HTML。

检查http://java-source.net/open-source/html-parsers

你也可以查看这个问题的答案:Reading HTML file to DOM tree using Java它几乎一样......