Print Tree node : DOM Tree « XML « Java Tutorial






import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletResponse;

import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

/*
 * Copyright 2005 Joe Walker
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/**
 * 
 * @author Abey Mullassery
 * 
 */

public class Main {

  public static void printTree(Node doc) {
    if (doc == null) {
      System.out.println("Nothing to print!!");
      return;
    }
    try {
      System.out.println(doc.getNodeName() + "  " + doc.getNodeValue());
      NamedNodeMap cl = doc.getAttributes();
      for (int i = 0; i < cl.getLength(); i++) {
        Node node = cl.item(i);
        System.out.println(
          "\t" + node.getNodeName() + " ->" + node.getNodeValue());
      }
      NodeList nl = doc.getChildNodes();
      for (int i = 0; i < nl.getLength(); i++) {
        Node node = nl.item(i);
        printTree(node);
      }
    } catch (Throwable e) {
      System.out.println("Cannot print!! " + e.getMessage());
    }
  }

}








33.4.DOM Tree
33.4.1.Creating a new DOM tree
33.4.2.Create new DOM tree with fully qualified element names
33.4.3.Custom complex filters for selecting nodes
33.4.4.Traverse the DOM tree as a list
33.4.5.Traverse the DOM tree using TreeWalker
33.4.6.Accessing different types of DOM tree nodes
33.4.7.Reading a DOM tree from XML document
33.4.8.Using ranges in DOM tree
33.4.9.Copying a Subtree of Nodes in a DOM Document
33.4.10.Copying a Subtree of Nodes from One DOM Document to Another
33.4.11.Get this Document's root node
33.4.12.Generates a DOM from scratch. Writes the DOM to a String using an LSSerializer.
33.4.13.Print Tree node
33.4.14.Traverse a DOM tree in order to print a document that is parsed