Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

//package com.java2s;
/*******************************************************************************
 * Copyright (c) 2015 CA.  All rights reserved.
 *
 * This source file is licensed under the terms of the Eclipse Public License 1.0
 * For the full text of the EPL please see https://www.eclipse.org/legal/epl-v10.html
 *******************************************************************************/

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;

import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.StringReader;

public class Main {
    /**
     * Parse the content of the given file as an XML document and return a new DOM
     * 
     * @param fileName
     * @return xml Document
     * @throws Exception
     */
    public static Document readXmlFile(String fileName) throws Exception {

        Document doc = null;

        try {
            File xmlFile = new File(fileName);
            DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
            domFactory.setNamespaceAware(false);

            DocumentBuilder builder = domFactory.newDocumentBuilder();
            doc = builder.parse(xmlFile);

        } catch (ParserConfigurationException e) {
            throw new Exception(e.getMessage(), e);
        } catch (Exception e) {
            throw new Exception(e.getMessage(), e);
        }
        return doc;

    }

    /**
     * Reads an xml file into XML Document.
     * @param fileName
     * @return xml Document
     * @throws Exception
     */
    public static Document readXmlFile(InputStream is) throws Exception {
        Document doc = null;
        String xmlStr = getStringFromInputStream(is);
        if (false == xmlStr.isEmpty())
            doc = readXmlString(xmlStr);

        return doc;

    }

    /**
     * Returns the string of InputStream
     * 
     * convert InputStream to String
     * @param is   InputStream
     * @return
     */
    private static String getStringFromInputStream(InputStream is) {

        BufferedReader br = null;
        StringBuilder sb = new StringBuilder();

        String line;
        try {

            br = new BufferedReader(new InputStreamReader(is));
            while ((line = br.readLine()) != null) {
                sb.append(line + "\n");
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br != null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

        return sb.toString();

    }

    /**
     * Reads an xml string into XML Document.
     * 
     * @param xmlStr String containing xml
     * @return xml Document
     * @throws Exception
     */
    public static Document readXmlString(String xmlStr) throws Exception {

        Document doc = null;

        try {

            DocumentBuilderFactory domFactory = DocumentBuilderFactory.newInstance();
            domFactory.setNamespaceAware(false);

            DocumentBuilder builder = domFactory.newDocumentBuilder();
            InputSource inStream = new InputSource();
            inStream.setCharacterStream(new StringReader(xmlStr));
            doc = builder.parse(inStream);
        } catch (ParserConfigurationException e) {
            throw new Exception(e.getMessage(), e);
        } catch (SAXException e) {
            throw new Exception(e.getMessage(), e);
        } catch (IOException e) {
            throw new Exception(e.getMessage(), e);
        } catch (Exception e) {
            throw new Exception(e.getMessage(), e);
        }

        return doc;

    }
}