Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*******************************************************************************
 * Copyright (c) 2010 Robert "Unlogic" Olofsson (unlogic@unlogic.se).
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the GNU Lesser Public License v3
 * which accompanies this distribution, and is available at
 * http://www.gnu.org/licenses/lgpl-3.0-standalone.html
 ******************************************************************************/

import org.w3c.dom.Document;

import javax.xml.transform.OutputKeys;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import java.io.File;

import java.util.Map.Entry;

public class Main {
    public static void writeXmlFile(Document doc, File file, boolean indent, String encoding)
            throws TransformerFactoryConfigurationError, TransformerException {
        // Prepare the DOM document for writing
        Source source = new DOMSource(doc);

        // Prepare the output file
        Result result = new StreamResult(file);

        Transformer xformer = TransformerFactory.newInstance().newTransformer();

        xformer.setOutputProperty(OutputKeys.ENCODING, encoding);

        if (indent) {
            xformer.setOutputProperty(OutputKeys.INDENT, "yes");
        }

        xformer.transform(source, result);

    }

    public static void writeXmlFile(Document doc, File file, Entry<String, String>... outputKeys)
            throws TransformerFactoryConfigurationError, TransformerException {
        // Prepare the DOM document for writing
        Source source = new DOMSource(doc);

        // Prepare the output file
        Result result = new StreamResult(file);

        // Write the DOM document to the file
        Transformer xformer = TransformerFactory.newInstance().newTransformer();

        if (outputKeys != null) {

            for (Entry<String, String> entry : outputKeys) {

                xformer.setOutputProperty(entry.getKey(), entry.getValue());
            }
        }

        xformer.transform(source, result);

    }

    public static void writeXmlFile(Document doc, String filename, boolean indent, String encoding)
            throws TransformerFactoryConfigurationError, TransformerException {

        // Prepare the output file
        File file = new File(filename);

        writeXmlFile(doc, file, indent, encoding);

    }
}