0

在 Java 中检索格式错误的 HTML 页面中具有某种类型的所有元素的最简单方法是什么?所以我想做这样的事情:

public static void main(String[] args) {
    // Read in an HTML file from disk
    // Retrieve all INPUT elements regardless of whether the HTML is well-formed
    // Loop through all elements and retrieve their ids if they exist for the element
}
4

3 回答 3

2

在处理(有点)格式错误的 HTML 时,HtmlCleaner可以说是最好的 HTML 解析器之一。

文档在这里有一些代码示例;你基本上是在寻找getElementsByName()方法。

如果您正在考虑其他库,请查看Java HTML 解析器的比较。

于 2009-11-11T01:46:30.010 回答
1

我使用tagsoup取得了成功。以下是他们主页上的简短描述:

这是 TagSoup 的主页,这是一个用 Java 编写的符合 SAX 的解析器,它不是解析格式良好或有效的 XML,而是解析在野外发现的 HTML:糟糕、肮脏和野蛮,尽管通常远非简短. TagSoup 是为那些必须使用某种看似合理的应用程序设计来处理这些东西的人设计的。通过提供 SAX 接口,它允许将标准 XML 工具应用于甚至最糟糕的 HTML。TagSoup 还包括一个命令行处理器,它可以读取 HTML 文件,并且可以生成干净的 HTML 或与 XHTML 非常接近的格式良好的 XML。

于 2009-11-11T01:57:39.410 回答
0

检查Jtidy

JTidy 是 HTML Tidy 的 Java 端口,是一个 HTML 语法检查器和漂亮的打印机。像它的非 Java 表亲一样,JTidy 可以用作清理格式错误和有缺陷的 HTML 的工具。此外,JTidy 为正在处理的文档提供了一个 DOM 接口,这有效地使您能够将 JTidy 用作真实世界 HTML 的 DOM 解析器。

于 2009-11-11T01:47:19.083 回答