Traverse the DOM tree using TreeWalker : DOM Tree « XML « Java






Traverse the DOM tree using TreeWalker

     
 
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.traversal.DocumentTraversal;
import org.w3c.dom.traversal.NodeFilter;
import org.w3c.dom.traversal.TreeWalker;

public class Main {
  public static void main(String[] argv) throws Exception {
    DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
    DocumentBuilder loader = factory.newDocumentBuilder();
    Document document = loader.parse("sample.xml");

    DocumentTraversal traversal = (DocumentTraversal) document;

    TreeWalker walker = traversal.createTreeWalker(document.getDocumentElement(),
        NodeFilter.SHOW_ELEMENT, null, true);

    traverseLevel(walker, "");
  }

  private static final void traverseLevel(TreeWalker walker, String indent) {
    Node parend = walker.getCurrentNode();
    System.out.println(indent + "- " + ((Element) parend).getTagName());

    for (Node n = walker.firstChild(); n != null; n = walker.nextSibling()) {
      traverseLevel(walker, indent + '\t');
    }
    walker.setCurrentNode(parend);
  }
}

   
    
    
    
    
  








Related examples in the same category

1.Creating a new DOM tree
2.Create new DOM tree with fully qualified element names
3.Traverse the DOM tree as a list
4.Reading a DOM tree from XML document
5.Copying a Subtree of Nodes in a DOM Document
6.Copying a Subtree of Nodes from One DOM Document to Another
7.Saving a DOM tree to XML file javax.xml.parsers (JAXP)
8.Using ranges in DOM tree
9.Accessing different types of DOM tree nodes
10.Manipulate w3c DOM trees
11.Returns an iterator over the children of the given element with the given tag name
12.Gets the child of the specified element having the specified name. If the child with this name doesn't exist then null is returned instead.
13.Gets the child of the specified element having the specified unique name
14.Traverse a DOM tree in order to get information about the document.
15.Get this Document's root node
16.Returns the concatenated child text of the specified node.
17.Get the first child of the specified type.
18.Get the first child's content ( ie it's included TEXT node ).
19.Get the first direct child with a given type
20.Print Tree node
21.DOM Util: get Child Text
22.Search earlier siblings for a given node
23.Search for a named child of a given node
24.Search our next siblings for a given node
25.Search up the tree for a given node
26.Return the next sibling with a given name and type
27.Get Child Content
28.Traverse a DOM tree in order to print a document that is parsed.