factory.setNamespaceAware(true);
factory.setValidating(false);
try {
StringBufferInputStream stream = new StringBufferInputStream(writer.getBuffer().toString());
DocumentBuilder builder = factory.newDocumentBuilder();
InputStreamReader reader = new InputStreamReader(stream, "UTF8");
InputSource source = new InputSource(reader);
source.setEncoding("UTF8");
Document document = builder.parse(source);
return document;