2
回答
Jsoup中如何新建一个新的doc文档?求大侠指点,不胜感激!
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   
我准备从一个doc文档中找出我所需要的节点,写入另一个新的doc中,节点已经找到,现在就是不知道怎么写入新doc中,求指点,谢谢。
举报
Snys
发帖于6年前 2回/204阅
共有2个答案 最后回答: 6年前
其实我想解决的是删除一个网页中的所有文本,只保留下整体标签框架就可以了,我用写了一个递归,但每当我删除一个节点,发现删除掉的这个节点的父节点的size减一了,导致不能遍历完成程序就结束了,我的程序如下:import java.io.File;
import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Node;



public class Test2 {
    public static void main(String[] args) throws Exception {
        File input = new File("book1.xml");
        Document doc=Jsoup.parse(input,"UTF-8");
        for(int i=0;i<doc.childNodes().size();i++){
            System.out.println(i);
            if(doc.childNode(i).childNodes().size()>0)
                getchild(doc.childNode(i));
            else{
                if(doc.childNode(i).nodeName()=="#text"){
                    doc.childNode(i).remove();
                }
            }
        }
        System.out.println(doc);
    }
    public static void getchild(Node node){
        for(int i=0;i<node.childNodes().size();i++){
            System.out.println(i);
            if(node.childNode(i).childNodes().size()>0)
                getchild(node.childNode(i));
            else{
                if(node.childNode(i).nodeName()=="#text"){
                    node.childNode(i).remove();
                }
            }
        }
    }

}

求指点,谢谢!

顶部