首页javaxml_transformJava HTML/XML - 如何漂亮的打印带转换的XML

Java HTML/XML - 如何漂亮的打印带转换的XML

我们想知道如何漂亮的打印带转换的XML。
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;

import javax.xml.transform.OutputKeys;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.sax.SAXSource;
import javax.xml.transform.sax.SAXTransformerFactory;
import javax.xml.transform.stream.StreamResult;

import org.xml.sax.InputSource;

public class Main {
  public static void main(String[] args) throws Exception {
    Transformer serializer = SAXTransformerFactory.newInstance()
        .newTransformer();
    serializer.setOutputProperty(OutputKeys.INDENT, "yes");
    serializer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
    serializer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount",
        "2");
    serializer.setOutputProperty("{http://xml.customer.org/xslt}indent-amount",
        "2");
    Source xmlSource = new SAXSource(new InputSource(new ByteArrayInputStream(
        "<a><b><c/><d>text D</d><e value='0'/></b></a>".getBytes())));
    StreamResult res = new StreamResult(new ByteArrayOutputStream());
    serializer.transform(xmlSource, res);
    System.out.println(new String(((ByteArrayOutputStream) res
        .getOutputStream()).toByteArray()));
  }
}