Here you can find the source of format(Document doc)
public static String format(Document doc) throws Exception
//package com.java2s; /*// w w w. jav a 2 s .c o m * File: DataUtils.java * * Copyright 2009 Muradora * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import com.sun.org.apache.xml.internal.serialize.OutputFormat; import com.sun.org.apache.xml.internal.serialize.XMLSerializer; public class Main { public static String format(Document doc) throws Exception { OutputFormat format = new OutputFormat(doc); format.setEncoding("UTF-8"); format.setIndenting(true); format.setIndent(2); format.setOmitXMLDeclaration(true); ByteArrayOutputStream out = new ByteArrayOutputStream(); Writer output = new OutputStreamWriter(out); XMLSerializer serializer = new XMLSerializer(output, format); serializer.serialize(doc); return new String(out.toByteArray(), "UTF-8"); } public static String format(byte[] document) throws Exception { DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); documentBuilderFactory.setNamespaceAware(true); DocumentBuilder docBuilder = documentBuilderFactory.newDocumentBuilder(); Document doc = docBuilder.parse(new ByteArrayInputStream(document)); OutputFormat format = new OutputFormat(doc); format.setEncoding("UTF-8"); format.setIndenting(true); format.setIndent(2); format.setOmitXMLDeclaration(true); ByteArrayOutputStream out = new ByteArrayOutputStream(); Writer output = new OutputStreamWriter(out); XMLSerializer serializer = new XMLSerializer(output, format); serializer.serialize(doc); return new String(out.toByteArray(), "UTF-8"); } }