Here you can find the source of prettyPrintXMLDocument(Node node)
Parameter | Description |
---|---|
node | a parameter |
public static String prettyPrintXMLDocument(Node node)
//package com.java2s; /*/*from www . java2 s. c om*/ This file is part of p300. p300 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. p300 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 General Public License for more details. You should have received a copy of the GNU General Public License along with p300. If not, see <http://www.gnu.org/licenses/>. */ import java.io.StringWriter; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.DOMConfiguration; import org.w3c.dom.DOMImplementation; import org.w3c.dom.Node; import org.w3c.dom.ls.DOMImplementationLS; import org.w3c.dom.ls.LSOutput; import org.w3c.dom.ls.LSSerializer; public class Main { /** * Create a pretty String representation of a DOM Document * @param node * @return String of the given document */ public static String prettyPrintXMLDocument(Node node) { if (node == null) { return ""; } DocumentBuilder builder = null; try { builder = getDocumentBuilder(); } catch (ParserConfigurationException exception) { System.err.println(exception); return ""; } DOMImplementation implementation = builder.getDOMImplementation(); Object object = implementation.getFeature("LS", "3.0"); if (!(object instanceof DOMImplementationLS)) { return ""; } DOMImplementationLS loadSave = (DOMImplementationLS) object; LSSerializer serializer = loadSave.createLSSerializer(); DOMConfiguration config = serializer.getDomConfig(); if (config.canSetParameter("format-pretty-print", true)) { config.setParameter("format-pretty-print", true); } LSOutput loadSaveOut = loadSave.createLSOutput(); StringWriter string = new StringWriter(); loadSaveOut.setCharacterStream(string); loadSaveOut.setEncoding("UTF-8"); serializer.write(node, loadSaveOut); String result = string.toString(); // String result = serializer.writeToString(node); return result; } /** * Return a fresh DocumentBuilder instance * @return * @throws ParserConfigurationException if there was a serious error */ private static DocumentBuilder getDocumentBuilder() throws ParserConfigurationException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); return builder; } }