Java XML Node to String toString(NodeList nodes)

Here you can find the source of toString(NodeList nodes)

Description

to String

License

Open Source License

Declaration

public static String toString(NodeList nodes) 

Method Source Code


//package com.java2s;
/*/*from   w  ww .  j  av a2  s  .  co  m*/
 * This file is part of experimaestro.
 * Copyright (c) 2014 B. Piwowarski <benjamin@bpiwowar.net>
 *
 * experimaestro 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.
 *
 * experimaestro 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 experimaestro.  If not, see <http://www.gnu.org/licenses/>.
 */

import org.w3c.dom.*;
import org.w3c.dom.bootstrap.DOMImplementationRegistry;
import org.w3c.dom.ls.DOMImplementationLS;
import org.w3c.dom.ls.LSSerializer;

import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

import java.io.StringWriter;

public class Main {
    /**
     * Convert an XML node into a string
     *
     * @param node The XML node to convert
     * @return A string representing the XML element
     */
    static public final String toString(Node node) {
        return toString(node, false);
    }

    static public final String toString(Node node, boolean declaration) {
        try {
            DOMImplementationRegistry registry = DOMImplementationRegistry.newInstance();
            DOMImplementationLS impl = (DOMImplementationLS) registry.getDOMImplementation("LS");

            LSSerializer writer = impl.createLSSerializer();
            writer.getDomConfig().setParameter("xml-declaration", declaration);
            return writer.writeToString(node);
        } catch (Exception e) {
            return e.toString();
        }
    }

    public static String toString(NodeList nodes) {
        try {
            StringWriter stw = new StringWriter();
            Transformer serializer = TransformerFactory.newInstance().newTransformer();
            for (int i = 0; i < nodes.getLength(); i++) {
                Node item = nodes.item(i);
                switch (item.getNodeType()) {
                case Node.TEXT_NODE:
                    stw.append(item.getTextContent());
                    break;
                default:
                    serializer.transform(new DOMSource(item), new StreamResult(stw));
                }
            }
            return stw.toString();
        } catch (Exception e) {
            return e.toString();
        }
    }
}

Related

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