程序说明:1.参数介绍:node是经过Dom解析后的HTML页面里的一个节点;
            2.函数预期实现任务:向上递归查找node的父节点,如果父节点不是body,则一直递归;直到父节点是body时,递归才停止;
                                 接着删除node前面的所有兄弟节点,直到node前面再没有兄弟节点为止,然后跳出该函数。            3.目前存在问题:程序在碰到某些页面时,会在执行一轮while循环后,突然跳回到try语句那一行接着往下执行,这样就会导致异常。
            请大家帮忙看看是哪里出问题了。谢谢!
          以下是程序代码:
行号     public void removeNodeTillParent(Node node)
772 {
773 Node pnode = node.getParentNode();
774 String pname = pnode.getNodeName();
775 if (pname.equalsIgnoreCase("body")) 
776 {
778 System.out.print("\nthe node-node-node is: " + node);
779 }else{
780 removeNodeTillParent(pnode);
781 }782 try{
783 node = node.getPreviousSibling();
784 while ((node.getPreviousSibling()!= node)&& (node.getPreviousSibling() != null))
785 {
786 pnode.removeChild(node.getPreviousSibling());
787 }
788 }catch(Exception e) {
789 e.printStackTrace();
790 }
791 }        附异常信息:
        java.lang.NullPointerException
Analyzer.removeNodeTillParent(Analyzer.java:784)
Analyzer.removeNodeTillParent(Analyzer.java:779)
Analyzer.removeNodeTillParent(Analyzer.java:779)
Analyzer.removeNodeTillParent(Analyzer.java:779)
Analyzer.removeNodeTillParent(Analyzer.java:779)