获取DOM树的节点值但不获取脚本

时间:2012-05-21 06:05:59

标签: java dom

无论如何

获取DOM's节点的节点值而不是脚本?我的意思是因为当我们遍历相应页面的DOM树时,页面源中可能有数十个脚本代码,当我们使用方法node.getNodeValue()时,它将检索节点的内容,即使它的脚本是我不关心。我只是希望获得节点的内容,如果它是页面中显示的实际文本。

 public void traverse( Node rootNode) 
        {


Stack stack = new Stack();
Node node=rootNode.getFirstChild();

while (node!=null) {


           System.out.println(node.getNodeValue());



        if ( node.hasChildNodes()) {

    if (node.getNextSibling()!=null)
    stack.push( node.getNextSibling() );
    node = node.getFirstChild();

}

else {

    node = node.getNextSibling();

    if (node==null && !stack.isEmpty())
    {
        node=(Node) stack.pop();

    }

}

1 个答案:

答案 0 :(得分:0)

我自己找到了答案!

    if(!"script".equals(node.getNodeName()))
                    System.out.println(node.getNodeValue());