java - java中使用HTMLParser获取所有节点

标签 java html html-parsing

我需要获取 HTML 文件的所有元素,因为我必须将它们表示在树上。问题是我只能获取第一个节点,html 节点。

我正在使用 HTMLParser 库进行 Java 编程。

我的代码是:

import org.htmlparser.Node;
import org.htmlparser.Parser;
import org.htmlparser.util.NodeList;
import org.htmlparser.util.ParserException;

class Principal
{
    public static void main (String[] args) {
        try {
            Parser parser = new Parser("http://www.marca.com");
            NodeList list = parser.parse(null);
            for (int i = 0; i < list.size(); i++) {
                Node node = list.elementAt(i);
                System.out.println(node.getText());
            }
        } catch (ParserException pe) {
            pe.printStackTrace ();
        }
    }
}

我尝试使用迭代器,但结果是相同的。

代码的执行产生以下结果:

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"


html xmlns="http://www.w3.org/1999/xhtml"

有谁知道如何获取 HTML 文件的所有元素?

最佳答案

树有不同的级别。在您的方法中,您只需选择顶层的节点。为了打印所有节点,您需要打印所有子节点。

关于java - java中使用HTMLParser获取所有节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19624103/

相关文章:

python - HTMLParser 的缓冲问题

Java - 内联代码会有好处吗?

jquery - Bootstrap Gallery 空白区域

java - 如何在 Eclipse 中打包所需的外部库和源

css - 设计一个只允许内容滚动的网页 - Dreamweaver

javascript - 通过 jQuery 添加带有 +1 ID 的 HTML OnClick

c# - 如何从 C# 中的 HTML 页面中提取关键字?

Javascript Excel 工作表

java - SonarQube CLI 扫描仪无法保留堆

java - 是什么让我出现这个错误?