生成xml如何实现元素内容换行?

J2EE 码拜 10年前 (2015-04-05) 3587次浏览 0个评论

假如我要生成一个这样的xml
<users>
               <user>
                          <name>Jerry</name>
                          <desc>abcdef
                            ghijka
                          </desc>
               </user>
</users>

把元素<desc>中内容换行显示,但是不能在内容中使用<![CDATA[  ]]>   ,该怎么弄啊?
目前用dom4j
 OutputFormat format = OutputFormat.createPrettyPrint(); //设置XML文档输出格式
        format.setEncoding(“GBK”); //设置XML文档的编码类型
        format.setIndent(true); //设置是否缩进
       format.setIndent(“\t”); 
       format.setNewlines(true); //设置是否换行
 XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File(“a.xml”)),format);
使用此种方法试过了,没用啊,依然不换行

生成xml如何实现元素内容换行?
OutputFormat 是用来格式化XML文件输出格式的,也就是格式化。目的是为了便于阅读。
你想要desc中的内容有换行,那么必须保证desc中的内容有换行符。
生成xml如何实现元素内容换行?
40分
有没有想过 <desc> 中的数据换行后应该下一行在第1列对吧?为什么你的下一行却不是从第1列开始?

数据本身包括换行符和看它起来换了行,这是两回事。(一个文本编辑器就可以上一个长一点的行看起来是换了行的,但数据中并不包括换行符)。

对于内容复杂可能有各种特殊符号的内容还是推荐用 <![CDATA[  ]]> 来做,正常的 xml 处理的 API 都可以正确地处理这个 <![CDATA[ ]]> 块。

不要忘记一条,如果它是数据,那你不要老想着怎么显示才好看。好看不能当饭吃这条也适合 xml。

生成xml如何实现元素内容换行?
引用 1 楼 zyb134506 的回复:

OutputFormat 是用来格式化XML文件输出格式的,也就是格式化。目的是为了便于阅读。
你想要desc中的内容有换行,那么必须保证desc中的内容有换行符。

输入的内容有换行啊,在控制台打印出来都是换行的


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明生成xml如何实现元素内容换行?
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!