// Node node contains the node (or whole DOM document) from which you want to remove.
// String nameToRemove is the name of the Node you want to remove.
private static void removeEmptyNodes(Node node, String nameToRemove) { NodeList nodeList = node.getChildNodes(); for(int i=0; i < nodeList.getLength(); i++){ Node childNode = nodeList.item(i); String nodeName = childNode.getNodeName(); if(nodeName.equals(nameToRemove) && childNode.getTextContent().equals("")){ childNode.getParentNode().removeChild(childNode); i--; } removeEmptyNodes(childNode, nameToRemove); } }