とにかく、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();
}
}