У меня была похожая проблема некоторое время назад, и веб-сайт, который я использовал, дал мне хорошее понимание различных способов его кодирования.
Этот сайт предоставляет вам много разных способовкод XML: String, DOM, SAX
TransformerFactory transfac = TransformerFactory.newInstance();
Transformer trans = transfac.newTransformer();
//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();
//Writing the string to a file
OutputStream outputStream;
byte buf[] = xmlString.getBytes();
outputStream = new FileOutputStream(file);
for (byte element : buf) {
outputStream.write(element);
}
outputStream.close();
buf = null;