Java XML Node Print printElement(Node node, int level)

Here you can find the source of printElement(Node node, int level)

Description

Prints elements of the specified node.

License

Apache License

Parameter

Parameter Description
node the specified node.
level a number of indent.

Declaration

private static void printElement(Node node, int level) 

Method Source Code

//package com.java2s;
/*//from   w ww  .  j  av a 2  s.  com
 * $RCSfile: XMLUtil.java,v $ $Revision: 1.5 $ $Date: 2007/11/27 02:27:42 $
 * $AIST_Release: 5.0.0 $
 * $AIST_Copyright:
 *  Copyright 2003, 2004, 2005, 2006 Grid Technology Research Center,
 *  National Institute of Advanced Industrial Science and Technology
 *  Copyright 2003, 2004, 2005, 2006 National Institute of Informatics
 *  
 *  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.
 *  $
 */

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

public class Main {
    /**
     * Prints elements of the specified node.
     * 
     * @param node the specified node.
     * @param level a number of indent.
     */
    private static void printElement(Node node, int level) {
        for (int i = 0; i < level; i++) {
            System.out.print("  ");
        }
        System.out.print("{" + node.getNamespaceURI() + "}");
        System.out.println(node.getNodeName());
        NamedNodeMap attrs = node.getAttributes();
        if (attrs != null) {
            for (int i = 0; i < attrs.getLength(); i++) {
                printNode(attrs.item(i), level + 1);
            }
        }

        NodeList children = node.getChildNodes();
        int n = children.getLength();
        for (int i = 0; i < n; i++) {
            Node child = children.item(i);
            printNode(child, level + 1);
        }
    }

    /**
     * Prints information of the specified node.
     * 
     * @param node the specified node.
     * @param level a number of indent.
     */
    public static void printNode(Node node, int level) {
        if (node == null)
            return;
        switch (node.getNodeType()) {
        case Node.ATTRIBUTE_NODE:
            printAttribute(node, level);
            break;
        case Node.TEXT_NODE:
            printTextNode(node, level);
            break;
        default:
            printElement(node, level);
        }
    }

    /**
     * Prints attribute variables of the specified node.
     * 
     * @param node the specified node.
     * @param level a number of indent.
     */
    private static void printAttribute(Node node, int level) {
        for (int i = 0; i < level; i++) {
            System.out.print("  ");
        }
        System.out.println("<" + node.getNodeName() + " = " + node.getNodeValue() + ">");
    }

    /**
     * Prints variables of TEXT nodes.
     * 
     * @param node a parent node.
     * @param level a number of indent.
     */
    private static void printTextNode(Node node, int level) {
        String tmp = node.getNodeValue();
        tmp = tmp.trim();
        if (tmp.length() == 0) {
            return;
        }
        for (int i = 0; i < level; i++) {
            System.out.print("  ");
        }
        System.out.println("[" + tmp + "]");
    }

    /**
     * Gets variable of the specified node.
     * 
     * @param node the specified node.
     * @return variable of the specified node.
     */
    public static String getNodeValue(Node node) {
        return node.getNodeValue();
    }
}

Related

  1. printArrayContent(Node[] t)
  2. printDifferences(Node node1, Node node2)
  3. printDOM(Node node)
  4. printDOM(Node node, String prefix)
  5. printDOMTree(Node node, PrintStream out)
  6. printlnCommon(Node n)
  7. printNode(final String indent, final Node node)
  8. printNode(Node aNode, int aLevel)
  9. printNode(Node node)