Java XML Node to String toString(Node xml)

Here you can find the source of toString(Node xml)

Description

Transform this Node into a String representation.

License

Open Source License

Parameter

Parameter Description
xml the xml Node

Return

a String representation of the given xml Node

Declaration

public static String toString(Node xml) 

Method Source Code

//package com.java2s;
/**//w  w  w  .  j  a v a2  s .c  om
 * ?Copyright (C) 2012-2015 52?North Initiative for Geospatial Open Source
 * Software GmbH
 *
 * This program is free software; you can redistribute it and/or modify it under
 * the terms of the GNU General Public License version 2 as publishedby the Free
 * Software Foundation.
 *
 * If the program is linked with libraries which are licensed under one of the
 * following licenses, the combination of the program with the linked library is
 * not considered a "derivative work" of the program:
 *
 *     - Apache License, version 2.0
 *     - Apache Software License, version 1.0
 *     - GNU Lesser General Public License, version 3
 *     - Mozilla Public License, versions 1.0, 1.1 and 2.0
 *     - Common Development and Distribution License (CDDL), version 1.0
 *
 * Therefore the distribution of the program linked with libraries licensed under
 * the aforementioned licenses, is permitted by the copyright holders if the
 * distribution is compliant with both the GNU General Public License version 2
 * and the aforementioned licenses.
 *
 * 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 General Public License for more details.
 */

import java.io.StringWriter;

import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Node;

public class Main {
    /**
     * Transform this {@link Node} into a {@link String} representation.
     * 
     * @param xml
     *        the xml Node
     * @return a String representation of the given xml Node
     */
    public static String toString(Node xml) {
        short type = xml.getNodeType();

        if (type == Node.TEXT_NODE)
            return xml.getNodeValue();

        StringWriter buffer = new StringWriter();
        try {
            TransformerFactory transFactory = TransformerFactory.newInstance();
            Transformer transformer = transFactory.newTransformer();
            transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
            transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
            transformer.transform(new DOMSource(xml), new StreamResult(buffer));
        } catch (Exception e) {
        }

        return buffer.toString();

    }
}

Related

  1. toString(Node node, boolean formatted)
  2. toString(Node node, int level, boolean indent)
  3. toString(Node node, Map outputProperties)
  4. toString(Node node, Map outputProperties)
  5. toString(Node node, StringBuilder sb)
  6. toString(NodeList nodes)
  7. toStringE(Node element)
  8. toText(Node node)
  9. toText(Node node)