Cómo eliminar los espacios en blanco entre etiquetas en XML

He creado un documento XML utilizando Java en mi aplicación Android. Tengo que llamar a un servicio web en mi aplicación y pasar este XML como un argumento allí. Pero mi problema es que creó un espacio en blanco entre cada etiqueta en el XML.

DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance(); DocumentBuilder docBuilder = dbfac.newDocumentBuilder(); Document doc = docBuilder.newDocument(); Element root = doc.createElement("subscriber"); doc.appendChild(root); //creating child node for username EditText txtusername=(EditText)findViewById(R.id.txtUserName); subscriber[0]=String.valueOf(txtusername.getText()); Element UserName=doc.createElement("UserName"); UserName.setTextContent(subscriber[0]); root.appendChild(UserName); //creating child node for PASSWORD EditText txtPassword=(EditText)findViewById(R.id.txtPassword); subscriber[1]=String.valueOf(txtPassword.getText()); Element Password=doc.createElement("Password"); Password.setTextContent(subscriber[1]); root.appendChild(Password); //set up a transformer TransformerFactory transfac = TransformerFactory.newInstance(); Transformer trans = transfac.newTransformer(); trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); trans.setOutputProperty(OutputKeys.INDENT, "yes"); //create string from xml tree StringWriter sw = new StringWriter(); StreamResult result = new StreamResult(sw); DOMSource source = new DOMSource(doc); trans.transform(source, result); String xmlString =sw.toString(); url = new URL("http://192.168.70.14/NewsLetter/subscribing.php?register= " + xmlString); conn = (HttpURLConnection) url.openConnection(); conn.addRequestProperty("Content-Type", "text/xml; charset=UTF-8"); dis = conn.getInputStream(); 

El XML es:

 <subscriber> <UserName>miya</UserName> <Password>today</Password> </subscriber> 

Proporcione la solución para cómo quitar los espacios en blanco entre las etiquetas UserName y Password .

Por supuesto, depende de su propio XML, sin embargo, puede intentar expresiones regulares.

Como ejemplo:

 yourXmlAsString.replaceAll(">\\s*<", "><"); 

Quitar todos los espacios en blanco entre cada elemento XML.

Método DocumentBuilderFactory.setIgnoringElementContentWhitespace() controla la creación de espacios en blanco. Utilice esto antes de crear un DocumentBuilder .

 dbfac.setIgnoringElementContentWhitespace(true); 

Fui capaz de eliminar espacios en blanco / tabs / newlines de mi transformación con la siguiente propiedad:

 transformer.setOutputProperty(OutputKeys.INDENT, "no"); 

Tú lo tenías establecido en sí. Estoy seguro de que esta pregunta es lo suficientemente antigua como para que ahora no importa; Pero si alguien se ejecuta en esto en el futuro, el establecimiento de la propiedad a no me salvó.

  • La elevación no se muestra en la barra de herramientas de los dispositivos pre-pirulí
  • Sincronizar datos en el dispositivo con el servidor?
  • ¿Hay alguna documentación de Android XML?
  • Las asignaciones de preferencias compartidas de Android no persisten entre sesiones de emulador
  • Centre varios elementos en un RelativeLayout sin ponerlos en un contenedor?
  • Cómo llamar a los colores de los recursos de forma dinámica en Android?
  • El archivo de diseño de Android no permite caracteres como &, <,>
  • Cambiar el fondo del botón alfa sin cambiar el valor del alfabeto del texto en Android?
  • ¿Cómo eliminar la sombra sobre la barra de aplicaciones?
  • Comentar en el archivo de diseño de Android
  • Cómo envolver el fragmento GoogleMap en un LinearLayout?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.