Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*
 * $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.Node;
import org.w3c.dom.NodeList;

public class Main {
    /**
     * Gets specified child node from the specified node.<br>
     * If there are several nodes which have same name,
     * the node which was appeared at 1st will be returned.<br>
     * This methods will not throw any Exception.
     * 
     * @param node the specified node.
     * @param name a name of the child node.
     * @return the child node when it is found, null otherwise.
     */
    public static Node getChildNodeGentle(Node node, String namespace, String localname) {
        int count = 0;
        NodeList list = node.getChildNodes();
        for (int i = 0; i < list.getLength(); i++) {
            Node tmp = list.item(i);
            if (nodeIsElementOf(tmp, namespace, localname)) {
                return tmp;
            }
        }
        return null;
    }

    /**
     * Node is element whose namespace is "namespace" and localname is "localname"?
     * 
     * @param node XML node.
     * @param namespace Namespace
     * @param localname Local name
     * @return Node is element whose namespace is "namespace" and localname is "localname"?
     */
    public static boolean nodeIsElementOf(Node node, String namespace, String localname) {

        if (node.getNodeType() != Node.ELEMENT_NODE) {
            return false;
        }
        String ns = node.getNamespaceURI();

        if (((ns != null) && (namespace != null) && (ns.equals(namespace)))
                || ((ns == null) && (namespace == null))) {
        } else {
            return false;
        }

        String ln = node.getLocalName();
        if (!ln.equals(localname)) {
            return false;
        }
        return true;
    }
}