Here you can find the source of getPrevious(final Node current, final boolean sameName)
public static Node getPrevious(final Node current, final boolean sameName)
//package com.java2s; //License from project: Apache License import org.w3c.dom.Node; public class Main { public static Node getPrevious(final Node current, final boolean sameName) { String name = null;/* w w w . j a v a2s . co m*/ if (sameName) { name = current.getNodeName(); } int type = current.getNodeType(); return getPrevious(current, name, type); } public static Node getPrevious(final Node current, final String name, final int type) { Node prev = current.getPreviousSibling(); if (prev == null) { return null; } for (Node node = prev; node != null; node = node.getPreviousSibling()) { if (type >= 0 && node.getNodeType() != type) { continue; } else { if (name == null) { return node; } if (name.equals(node.getNodeName())) { return node; } } } return null; } }