Java tutorial
//package com.java2s; /* * Copyright 2015, Supreme Court Republic of Slovenia * * Licensed under the EUPL, Version 1.1 or as soon they will be approved by the European * Commission - subsequent versions of the EUPL (the "Licence"); You may not use this work except in * compliance with the Licence. You may obtain a copy of the Licence at: * * https://joinup.ec.europa.eu/software/page/eupl * * Unless required by applicable law or agreed to in writing, software distributed under the Licence * is distributed on an "AS IS" basis, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the Licence for the specific language governing permissions and limitations under * the Licence. */ import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import javax.xml.bind.JAXBException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.Result; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerConfigurationException; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamSource; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; public class Main { /** * * @param xmlIS * @return * @throws IOException * @throws ParserConfigurationException * @throws SAXException */ public static Document deserializeToDom(InputStream xmlIS) throws IOException, ParserConfigurationException, SAXException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); DocumentBuilder builder = factory.newDocumentBuilder(); return builder.parse(xmlIS); } /** * * @param xmlFile * @return * @throws IOException * @throws ParserConfigurationException * @throws SAXException */ public static Document deserializeToDom(File xmlFile) throws IOException, ParserConfigurationException, SAXException { Document doc = null; try (FileInputStream fis = new FileInputStream(xmlFile)) { doc = deserializeToDom(fis); } return doc; } /** * * @param xml * @return * @throws IOException * @throws ParserConfigurationException * @throws SAXException */ public static Document deserializeToDom(String xml) throws IOException, ParserConfigurationException, SAXException { return deserializeToDom(new ByteArrayInputStream(xml.getBytes())); } /** * * @param source * @param xsltSource * @return * @throws TransformerConfigurationException * @throws JAXBException * @throws TransformerException * @throws ParserConfigurationException * @throws SAXException * @throws IOException */ public static synchronized Document deserializeToDom(InputStream source, InputStream xsltSource) throws TransformerConfigurationException, JAXBException, TransformerException, ParserConfigurationException, SAXException, IOException { Document obj; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); if (xsltSource != null) { TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(new StreamSource(xsltSource)); obj = dbf.newDocumentBuilder().newDocument(); Result result = new DOMResult(obj); transformer.transform(new StreamSource(source), result); } else { obj = dbf.newDocumentBuilder().parse(source); } return obj; } /** * * @param source * @param xsltSource * @return * @throws TransformerConfigurationException * @throws JAXBException * @throws TransformerException * @throws ParserConfigurationException * @throws SAXException * @throws IOException */ public static synchronized Document transform(Element source, InputStream xsltSource) throws TransformerConfigurationException, JAXBException, TransformerException, ParserConfigurationException, SAXException, IOException { Document obj = null; DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); if (xsltSource != null) { TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer; transformer = factory.newTransformer(new StreamSource(xsltSource)); obj = dbf.newDocumentBuilder().newDocument(); Result result = new DOMResult(obj); transformer.transform(new DOMSource(source), result); } return obj; } }