是否可以使用哪些工具将html文档解析为字符串或文件,然后构建DOM树,以便开发人员可以通过某些API遍历树。
例如:
DomRoot = parse("myhtml.html");
for (tags : DomRoot) {
}
注意:这是一个不是XHtml的HTML文档。
答案 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它几乎一样......