当前位置: 代码迷 >> J2EE >> 生成xml怎么实现元素内容换行
  详细解决方案

生成xml怎么实现元素内容换行

热度:89   发布时间:2016-04-17 23:29:14.0
生成xml如何实现元素内容换行?
假如我要生成一个这样的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);
使用此种方法试过了,没用啊,依然不换行
------解决思路----------------------
有没有想过 <desc> 中的数据换行后应该下一行在第1列对吧?为什么你的下一行却不是从第1列开始?

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

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

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