我有一个文件夹中的HTML文件列表。 我从文件夹中获取了所有HTML文件,并使用jsoup为每个html页面获取HTML文档元素。
现在我必须删除除每个HTML页面中的两个div元素之外的所有Html body元素。 我如何实现这一目标?
答案 0 :(得分:0)
在伪代码/评论中
Jsoup.parse(File in, String charsetName, String baseUri)
会生成一个文档。
Document.body()
应该为您提供html文件的正文。
然后你可以使用(在Jsoup包中)
public static String clean(String bodyHtml,
String baseUri,
Whitelist whitelist,
Document.OutputSettings outputSettings)
在通话中使用或使用任何搜索功能(getElementBy)并以任何方式输出结果。
您可以想象将列表放在流中或使用runnables并行处理以保持对进程的控制
答案 1 :(得分:0)
解决方案可能如下所示:
Elements bodyChildElements = doc.body().children();
for(Element e : bodyChildElements){
if(!e.tagName().equals("div")){
e.remove();
}
else if(!e.attr("id").equals("abc") && !e.attr("id").equals("xyz")){
e.remove();
}
}
System.out.println(doc.html());
这将获取正文下方的所有元素并将其从文档中删除,除非它们是具有特定id属性值的div。