我正在使用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>
1条答案
按热度按时间crcmnpdw1#
设置
INDENT
至no
只指示处理器不允许添加额外的空白,而不是它将删除现有的空白。