Java Jsoup删除html元素和子元素的有效方法
我想删除html div和table tables标签以及itchild中的任何内容,最好的方法是什么 我尝试像这样遍历文档,但它不起作用,在Jsoup文档中,它说node.remove从DOM及其子对象中删除元素:Java Jsoup删除html元素和子元素的有效方法,java,html,jsoup,Java,Html,Jsoup,我想删除html div和table tables标签以及itchild中的任何内容,最好的方法是什么 我尝试像这样遍历文档,但它不起作用,在Jsoup文档中,它说node.remove从DOM及其子对象中删除元素: doc.traverse(new NodeVisitor() { @Override public void head(Node node, int i) { }
doc.traverse(new NodeVisitor() {
@Override
public void head(Node node, int i) {
}
@Override
public void tail(Node node, int i) {
//Log.i(TAG,"node: "+node.nodeName());
if( node.nodeName().compareTo("table") == 0 ||
node.nodeName().compareTo("div") == 0 )
node.remove();
}
});
您是否尝试过类的remove函数
这应该选择并删除所有和元素。从元素中删除类不会删除子元素。不过我会再检查一遍。@SergioSerra它为我做了一个简单的例子,例如,我有一些带文本的div和一个段落,还有一个带一些行的表,但在某些情况下它可能不起作用。你是对的,它就像你说的那样工作,我犯了一个愚蠢的错误,没有像我应该的那样从文档中获取html,我以前没注意到。它现在起作用了。Thanks@SergioSerra哦,好的,谢谢你让我知道,很高兴它为你工作!
Document doc = Jsoup.parse(html);
doc.select("div").remove();
doc.select("table").remove();
Document doc = Jsoup.parse(html);
doc.select("table *").remove();