2012-02-29 11 views
5

Cómo convertir Document respuesta en String?convertir DOM a String en android?

yo probamos este código pero no funciona:

Element root = response.getDocumentElement(); 
String s = root.toString(); 
+0

para mostrar la respuesta de registro en formato XML –

Respuesta

7

Prueba esto:

import java.io.*; 
import javax.xml.transform.*; 
import javax.xml.transform.dom.*; 
import javax.xml.transform.stream.*; 

//method to convert Document to String 
public String getStringFromDocument(Document doc) 
{ 
    try 
    { 
     DOMSource domSource = new DOMSource(doc); 
     StringWriter writer = new StringWriter(); 
     StreamResult result = new StreamResult(writer); 
     TransformerFactory tf = TransformerFactory.newInstance(); 
     Transformer transformer = tf.newTransformer(); 
     transformer.transform(domSource, result); 
     return writer.toString(); 
    } 
    catch(TransformerException ex) 
    { 
     ex.printStackTrace(); 
     return null; 
    } 
} 
+0

use este código para la versión superior de Android por encima de 2.2 –

+0

y si estoy usando Android 2.1 ... lo que necesito que hacer ? – digulino

1

algo como lo siguiente:

public static String xmlToString(Node node) { 
     try { 
      Source source = new DOMSource(node); 
      StringWriter stringWriter = new StringWriter(); 
      Result result = new StreamResult(stringWriter); 
      TransformerFactory factory = TransformerFactory.newInstance(); 
      //factory.setAttribute("indent-number", "4"); 
      Transformer transformer = factory.newTransformer(); 
      transformer.transform(source, result); 
      return stringWriter.getBuffer().toString(); 
     } catch (TransformerConfigurationException e) { 
      e.printStackTrace(); 
     } catch (TransformerException e) { 
      e.printStackTrace(); 
     } 
     return null; 
} 
+0

Lo acabo de ejecutar en Samsung Galaxy ACE: todo funciona (solo comenta factory.setAttribute ("indent-number", "4"); ) –