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