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