Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Remove Indentation during Transformation

 
Sanjit Singh
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Everyone,
Below you will find a method that takes a Document object as a parameter and returns a byte array.
**************************************************************
private byte[] xmlToBytes(Document document) {
try {
TransformerFactory tfactory = TransformerFactory.newInstance();
Source source = new DOMSource(document);
ByteArrayOutputStream bout = new ByteArrayOutputStream();
Result result = new StreamResult(bout);
Transformer transformer = tfactory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "no");
transformer.transform(source, result);
return bout.toByteArray();
}catch(Exception e) {
return null;
}
}
**************************************************************
You might have noticed that I set OutputKeys.INDENT to "no" during transformation, but this doesn�t seem to have an effect. I would like to get a byte array containing xml, but without any carriage returns or whitespaces (simply the whole xml without any gaps in between).
Can somebody please help me out? Is there a way to convert a dom to a byte array without carriage returns/whitespaces/blankspaces?
Thanks in advance and looking forward to some replies!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic