如何在java dom解析器中格式化xml?

时间:2013-09-04 07:00:26

标签: java xml dom xml-parsing

<?xml version="1.0" encoding="UTF-8"?><Request>

<Id>

这里第一个标签写入文件后跟xml版本,我需要在下一行写入。如下所示

<?xml version="1.0" encoding="UTF-8"?>
 <Request>
  <Id>

我使用下面的代码将xml写入文件,请帮助

TransformerFactory transformerFactory = TransformerFactory
                .newInstance();
        Transformer transformer = transformerFactory.newTransformer();
        DOMSource source = new DOMSource(document);
        StreamResult result = new StreamResult(new File(
                Constants.xmlLocation
                        + Constants.metaDataXmlFileName
                        + format.format(calendar.getTime()) + ".xml"));

        transformer.setOutputProperty(OutputKeys.INDENT, "yes");
        transformer.setOutputProperty(
                "{http://xml.apache.org/xslt}indent-amount", "5");
        transformer.transform(source, result);

1 个答案:

答案 0 :(得分:1)

您可以尝试下面的代码,这将正常工作,您将获得格式化的输出

transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.DOCTYPE_PUBLIC,"yes");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "10");