Ya no tienes que indagar más por todo internet porque has llegado al sitio indicado, tenemos la solución que quieres y sin problemas.
Solución:
Solución de trabajo siguiendo las instrucciones en los comentarios de la pregunta de @Luiggi Mendoza.
public static String trim(String input)
BufferedReader reader = new BufferedReader(new StringReader(input));
StringBuffer result = new StringBuffer();
try
String line;
while ( (line = reader.readLine() ) != null)
result.append(line.trim());
return result.toString();
catch (IOException e)
throw new RuntimeException(e);
recorrer recursivamente el documento. elimine cualquier nodo de texto con contenido en blanco. recorte cualquier nodo de texto con contenido que no esté en blanco.
public static void trimWhitespace(Node node)
NodeList children = node.getChildNodes();
for(int i = 0; i < children.getLength(); ++i)
Node child = children.item(i);
if(child.getNodeType() == Node.TEXT_NODE)
child.setTextContent(child.getTextContent().trim());
trimWhitespace(child);
Como se documenta en una respuesta a otra pregunta, la función relevante sería DocumentBuilderFactory.setIgnoringElementContentWhitespace(), pero, como ya se señaló aquí, esa función requiere el uso de un analizador de validación, que requiere un esquema XML, o algo similar.
Por lo tanto, su mejor opción es iterar a través del documento que obtiene del analizador y eliminar todos los nodos de tipo TEXT_NODE (o aquellos TEXT_NODE que contienen solo espacios en blanco).
Comentarios y calificaciones
Recuerda que tienes concesión de interpretar si descubriste tu traba justo a tiempo.