Mega Code Archive

 
Categories / Java / XML
 

Get the next sibling with the same name and type

import org.w3c.dom.Node; public class Utils {   /**    * Get the next sibling with the same name and type    */   public static Node getNext(Node current) {       String name = current.getNodeName();       int type = current.getNodeType();       return getNext(current, name, type);   }   /**    * Return the next sibling with a given name and type    */   public static Node getNext(Node current, String name, int type) {       Node first = current.getNextSibling();       if (first == null) {           return null;       }       for (Node node = first; node != null; node = node.getNextSibling()) {           if (type >= 0 && node.getNodeType() != type) {               continue;           }           if (name == null) {               return node;           }           if (name.equals(node.getNodeName())) {               return node;           }       }       return null;   }   /**    * Get the first child of the specified type.    *     * @param parent    * @param type    * @return    */   public static Node getChild(Node parent, int type) {       Node n = parent.getFirstChild();       while (n != null && type != n.getNodeType()) {           n = n.getNextSibling();       }       if (n == null) {           return null;       }       return n;   } }