Java tutorial
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); } }