Java xml自闭标签

zme*_*eda 5 java xml jasper-reports

我的Java程序看起来像:

public static void main(String[] args) {
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db;
    try {
        db = dbf.newDocumentBuilder();
        Document document = db.parse(new ByteArrayInputStream("<test><test1></test1></test>".getBytes("UTF-8")));
        StringWriter stringWriter = new StringWriter();
        Transformer transformer = TransformerFactory.newInstance().newTransformer();
        transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
        transformer.setOutputProperty(OutputKeys.INDENT, "no");
        transformer.setOutputProperty(OutputKeys.STANDALONE, "yes");
        transformer.transform(new DOMSource(document), new StreamResult(stringWriter));
        System.out.println(stringWriter.toString());
    } catch (ParserConfigurationException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } catch (TransformerConfigurationException e) {
        e.printStackTrace();
    } catch (TransformerException e) {
        e.printStackTrace();
    } catch (SAXException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

输出是:<test><test1/></test>我想要输出<test><test1></test1></test>.

因为我使用JasperReportshtml样式只允许我想要的输出.怎么实现呢?Transformer的任何输出属性或DocumentBuilderFactory的任何属性是否需要输出?

Bor*_*ris 5

如果在调用transformer.transform之前添加此行 - 输出将采用html样式:

transformer.setOutputProperty(OutputKeys.METHOD, "html");
Run Code Online (Sandbox Code Playgroud)