获取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();
}
}
答案 0 :(得分:0)
我自己找到了答案!
if(!"script".equals(node.getNodeName()))
System.out.println(node.getNodeValue());