dom4j中的Document的setXMLEncoding方法怎么不管用啊

shihp 2011-07-08 04:42:27
我写创建xml的程序,默认的xml头中的encoding="UTF-8",我想把这个值改成GBK,但用setXMLEncoding方法不管用,我用的dom4j 1.6.1,jdk1.6.0.2,eclipse3.6
...全文
589 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightyq 2011-07-18
  • 打赏
  • 举报
回复
上面说的可以。 OutputFormat里设一下.
filemon 2011-07-08
  • 打赏
  • 举报
回复
另外友情提示,输出的流仍然不是 GBK ,相信你能搞定的。。。。。
kongxiong 2011-07-08
  • 打赏
  • 举报
回复
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
加这段代码进去,并且一定要在 writer.write() 之前调用就OK了。
filemon 2011-07-08
  • 打赏
  • 举报
回复
看在你一100分的面子上,给你把代码写全吧。全部代码引用的是 DOM4j文档中的quick start.


package cn.qjwx.xyc.test;

import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;


public class TestJava {

/**
* @param args
*/
public static void main(String[] args) {
Document document = DocumentHelper.createDocument();
Element root = document.addElement( "root" );

Element author1 = root.addElement( "author" )
.addAttribute( "name", "James" )
.addAttribute( "location", "UK" )
.addText( "James Strachan" );

Element author2 = root.addElement( "author" )
.addAttribute( "name", "Bob" )
.addAttribute( "location", "US" )
.addText( "Bob McWhirter" );
XMLWriter writer;
try {

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
writer = new XMLWriter( new FileWriter( "output.xml" ), format );
writer.write( document );
writer.close();

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}



filemon 2011-07-08
  • 打赏
  • 举报
回复

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");


加这段代码进去,并且一定要在 writer.write() 之前调用就OK了。

51,390

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧