dom4j 生成xml时,属性值中的回车换行问题
首先属性中的回车换行对我来说非常有用,可是在使用过程中发现dom4j自动把回车换行去掉了。
我需要生成的部分xml是这样的。
<data>
@H=16*16
@C=60
我的中国
@I=000
@K=2
@O=000
@Q
</data>
生成xml的部分代码
try { StringWriter writer = new StringWriter(); OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("GB2312"); XMLWriter xmlwriter = new XMLWriter(writer, format); xmlwriter.write(document); returnValue = writer.toString(); } catch (Exception ex) { ex.printStackTrace(); }
用如上代码后生成xml的结果为
<data>@H=16*16 @C=60 我的中国 @I=000 @K=2 @O=000 @Q</data>
证实在生成xml前的代码有回车换行后,详细想“一定是dom4j的问题“
问题就出在OutputFormat.createPrettyPrint();这上。
/** * A static helper method to create the default pretty printing format. This * format consists of an indent of 2 spaces, newlines after each element and * all other whitespace trimmed, and XMTML is false. * * @return DOCUMENT ME! */ public static OutputFormat createPrettyPrint() { OutputFormat format = new OutputFormat(); format.setIndentSize(2); format.setNewlines(true); format.setTrimText(true); format.setPadText(true); return format; } /** * A static helper method to create the default compact format. This format * does not have any indentation or newlines after an alement and all other * whitespace trimmed * * @return DOCUMENT ME! */ public static OutputFormat createCompactFormat() { OutputFormat format = new OutputFormat(); format.setIndent(false); format.setNewlines(false); format.setTrimText(true); return format; }
createPrettyPrint()方法中有
format.setTrimText(true);
问题就出在这里。
将format.setTrimText(false); 即可
OutputFormat format = OutputFormat.createPrettyPrint(); format.setEncoding("utf-8");// 设置XML文件的编码格式 format.setLineSeparator("\n"); format.setTrimText(false); format.setIndent(" "); Document doc = DocumentHelper.createDocument();
相关推荐
与卿画眉共浮生 2020-10-14
xiyang 2020-08-21
baijinswpu 2020-07-29
leonranri 2020-07-26
zhongliwen 2020-07-05
麋鹿麋鹿迷了路 2020-07-05
zengyu00 2020-07-05
XGQ 2020-07-04
CoderBoy 2020-06-28
whbing 2020-06-28
绝望的乐园 2020-06-27
wellfly 2020-06-26
菇星獨行 2020-06-25
草原孤狼 2020-06-25
坚持着执着 2020-06-16
wcqwcq 2020-06-14
yuanye0 2020-06-14
zhongliwen 2020-06-13
MrFuWen 2020-06-09