java—在转换xml时禁用jaxp中的缩进

wvyml7n5  于 2021-07-05  发布在  Java
关注(0)|答案(1)|浏览(295)

我正在使用jaxp将dom树转换为xml。我不希望结果xml中有任何内容。这是我的密码:

root.normalize();
    DOMSource domSource = new DOMSource(root);
    StreamResult result = new StreamResult(outputStream);

    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    Transformer transformer = transformerFactory.newTransformer();

    transformer.setOutputProperty(OutputKeys.METHOD, "xml");
    transformer.setOutputProperty(OutputKeys.ENCODING, encoding);
    transformer.setOutputProperty(OutputKeys.INDENT, "no");

    transformer.transform(domSource, result);

如果源文件不是预期的,结果也不是预期的,如果源xml文件格式很好,那么“indent=no”就不起作用。转换后的xml文件仍然缩进,但我不希望这样。
此输入生成正确的输出,无任何错误:

<InitMessage xmlns="http://www.test.com/"><operation>while</operation><part1>6</part1><part2>2</part2><part3>5</part3><part4>1</part4></InitMessage>

但是这个没有,我的输出(一行)中仍然有相当多的xml。

<InitMessage xmlns="http://www.test.com/">
    <operation>while</operation>
    <part1>6</part1>
    <part2>2</part2>
    <part3>5</part3>
    <part4>1</part4>
</InitMessage>
crcmnpdw

crcmnpdw1#

设置 INDENTno 只指示处理器不允许添加额外的空白,而不是它将删除现有的空白。

相关问题