Làm cách nào để chuyển đổi câu trả lời Document
thành String
?chuyển đổi DOM thành Chuỗi trong android?
Tôi đã thử mã này, nhưng nó không hoạt động:
Element root = response.getDocumentElement();
String s = root.toString();
Làm cách nào để chuyển đổi câu trả lời Document
thành String
?chuyển đổi DOM thành Chuỗi trong android?
Tôi đã thử mã này, nhưng nó không hoạt động:
Element root = response.getDocumentElement();
String s = root.toString();
Hãy thử điều này:
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;
}
}
sử dụng mã này cho phiên bản Android cao hơn ở trên 2.2 –
và nếu tôi đang sử dụng Android 2.1 ... những gì tôi cần làm ? – digulino
somthing như thế:
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;
}
Tôi chỉ chạy trên Samsung Galaxy ACE - mọi thứ hoạt động (chỉ cần bình luận factory.setAttribute ("indent-number", "4"); ) –
để hiển thị phản ứng trên log ở định dạng xml –