Jsoup有效地删除html元素和子元素的方法

时间:2013-11-12 13:40:37

标签: java html jsoup

我想删除html divtable表标签及其中的任何内容(childs),最好的方法是什么?

我尝试遍历这样的文档,但它不起作用,在Jsoup文档中,它说node.remove()从DOM和他的孩子中删除了元素:

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();

                }
            });

2 个答案:

答案 0 :(得分:14)

您是否尝试过Elements课程的remove()功能?

Document doc = Jsoup.parse(html);
doc.select("div").remove();
doc.select("table").remove();

这应该选择并删除所有<div><table>元素。

答案 1 :(得分:0)

Document doc = Jsoup.parse(html);
doc.select("table *").remove();