Java XML Document Format printDocument(Document doc, boolean prettyPrint)

Here you can find the source of printDocument(Document doc, boolean prettyPrint)

Description

print Document

License

Open Source License

Declaration

public static String printDocument(Document doc, boolean prettyPrint) throws IOException, TransformerException 

Method Source Code


//package com.java2s;
/*//from   w  w w . j a va2  s.c  o m
 * Waltz - Enterprise Architecture
 * Copyright (C) 2016, 2017 Waltz open source project
 * See README.md for more information
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import org.w3c.dom.Document;

import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

public class Main {
    public static String printDocument(Document doc, boolean prettyPrint) throws IOException, TransformerException {
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        printDocument(doc, baos, prettyPrint);
        return new String(baos.toByteArray());
    }

    public static void printDocument(Document doc, OutputStream out, boolean prettyPrint)
            throws IOException, TransformerException {
        TransformerFactory tf = TransformerFactory.newInstance();
        Transformer transformer = tf.newTransformer();
        transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "no");
        transformer.setOutputProperty(OutputKeys.METHOD, "xml");
        transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");

        if (prettyPrint) {
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
        }

        transformer.transform(new DOMSource(doc), new StreamResult(new OutputStreamWriter(out, "UTF-8")));
    }
}

Related

  1. print(Document d)
  2. printDoc(Document doc)
  3. printDoc(Document doc, PrintStream pstrm)
  4. printDoctype(Document doc, PrintStream pstrm)
  5. printDocument(Document d)
  6. printDocument(Document doc, OutputStream out)
  7. printDocument(Document doc, Writer ps)
  8. printDocument(Document document)
  9. printDocument(Document document)