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