在格式错误的HTML中按类型获取元素

时间:2009-11-11 01:38:42

标签: java html-parsing

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
}

3 个答案:

答案 0 :(得分:2)

在处理(有些)格式错误的HTML时,

HtmlCleaner可以说是最好的HTML解析器之一。

文档为here,包含一些代码示例;你基本上在寻找getElementsByName()方法。

如果您正在考虑其他图书馆,请查看Comparison of Java HTML parsers

答案 1 :(得分:1)

我使用tagsoup取得了成功。下面是他们主页的简短说明:

  

这是TagSoup的主页,这是一个用Java编写的兼容SAX的解析器,它不是解析格式良好或有效的XML,而是解析在野外发现的HTML:糟糕,讨厌和野蛮,虽然经常远非空头。 TagSoup专为那些必须使用某种理性应用程序设计来处理这些东西的人而设计。通过提供SAX接口,它允许将标准XML工具应用于最差的HTML。 TagSoup还包括一个命令行处理器,它可以读取HTML文件,并且可以生成干净的HTML或格式良好的XML,它与XHTML非常接近。

答案 2 :(得分:0)

检查Jtidy

  

JTidy是HTML Tidy的Java端口,a   HTML语法检查和漂亮   打印机。就像它的非Java堂兄一样   JTidy可以用作工具   清理格式错误和错误的HTML。   此外,JTidy提供了一个DOM   接口到文件   正在被处理,这是有效的   使您能够将JTidy用作DOM   用于实际HTML的解析器。