【发布时间】:2016-11-27 14:57:06
【问题描述】:
我需要用jsoup解析一个包含多个html标签的html文件。
我将文档拆分为许多 html 元素,并且可以提取一些标签,例如标题
Document doc = Jsoup.parse(file, "UTF-8");
Elements el = doc.getElementsByTag("html");
for (Element e : el) {
writer = new PrintWriter(output);
writer.println(e.select("title"));
writer.println(e.select("body"));
writer.close();
}
输出
<title>titletext</title>
但它似乎忽略了每个元素中body标签的存在。
使用Document.body() 只是将正文标签的所有内容吐到一起。
由于我无法从每个元素中获取一个文档来使用body(),如何分别从每个元素中提取正文标签?
【问题讨论】:
-
具有多个 html 标签的文件不是有效的 HTML 文件。它是连接的几个 HTML 页面(大概),或者如果它们是嵌套的,则更糟。为什么要处理这些无效文件?有没有办法让输入成为几个有效的 HTML 文件?否则,自己拆分文件,然后分别分析每个HTML文档。