dnet-applications/apps/dnet-is-application/src/main/java/eu/dnetlib/is/util/XmlIndenter.java

43 lines
1.0 KiB
Java

package eu.dnetlib.is.util;
import java.io.StringWriter;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import eu.dnetlib.is.resources.SimpleResourceService;
public class XmlIndenter {
private static final Log log = LogFactory.getLog(SimpleResourceService.class);
public static String indent(final String xml) {
try {
final Document doc = DocumentHelper.parseText(xml);
return indent(doc);
} catch (final Exception e) {
log.warn("Error indenting xml");
return xml;
}
}
public static String indent(final Node node) {
try {
final StringWriter sw = new StringWriter();
final XMLWriter writer = new XMLWriter(sw, new OutputFormat("\t", true));
writer.write(node);
writer.close();
return sw.toString();
} catch (final Exception e) {
log.warn("Error indenting xml");
return node.asXML();
}
}
}