假如我要生成一个这样的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。