0

无论如何要获取节点的节点值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();

    }

}
4

1 回答 1

0

我自己找到了答案!

    if(!"script".equals(node.getNodeName()))
                    System.out.println(node.getNodeValue());
于 2012-05-21T08:42:25.923 回答