Mega Code Archive

 
Categories / Java / XML
 

Get the first element child

/**  * Licensed to the Apache Software Foundation (ASF) under one  * or more contributor license agreements. See the NOTICE file  * distributed with this work for additional information  * regarding copyright ownership. The ASF licenses this file  * to you 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 java.io.OutputStream; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Node; /**  * Few simple utils to read DOM. This is originally from the Jakarta Commons  * Modeler.  *   * @author Costin Manolache  */ public class Utils {   /**    * Get the first element child.    *     * @param parent lookup direct childs    * @param name name of the element. If null return the first element.    */   public static Node getChild(Node parent, String name) {       if (parent == null) {           return null;       }       Node first = parent.getFirstChild();       if (first == null) {           return null;       }       for (Node node = first; node != null; node = node.getNextSibling()) {           // System.out.println("getNode: " + name + " " +           // node.getNodeName());           if (node.getNodeType() != Node.ELEMENT_NODE) {               continue;           }           if (name != null && name.equals(node.getNodeName())) {               return node;           }           if (name == null) {               return node;           }       }       return null;   } }