您的位置:首页 > 其它

DOM4J 生成中文XML出现乱码

2011-04-26 15:39 351 查看
1 使用FileWriter写中文xml出现乱码 很怪异。

XMLWriter writer=null;
try{
Document doc=DocumentHelper.parseText(result);
OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
//FileOutputStream fos=new FileOutputStream(new File("C:\\GeoSearchResponse.xml"));
writer=new XMLWriter(new FileWriter(new File("C:\\GeoSearchResponse.xml")),format);
//writer=new XMLWriter(fos,format);
writer.write(doc);
System.out.println("xml:"+doc.asXML());
}catch(DocumentException w){
w.printStackTrace();
}catch(IOException i){
i.printStackTrace();
}finally{
if(writer!=null){
try{
writer.close();
}catch(IOException e){
e.printStackTrace();
};

};
};

2 经过反复测试和实验 改成FileOutputStream来写 结果良好

XMLWriter writer=null;
try{
Document doc=DocumentHelper.parseText(result);
OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
FileOutputStream fos=new FileOutputStream(new File("C:\\GeoSearchResponse.xml"));
//writer=new XMLWriter(new FileWriter(new File("C:\\GeoSearchResponse.xml")),format);
writer=new XMLWriter(fos,format);
writer.write(doc);
System.out.println("xml:"+doc.asXML());
}catch(DocumentException w){
w.printStackTrace();
}catch(IOException i){
i.printStackTrace();
}finally{
if(writer!=null){
try{
writer.close();
}catch(IOException e){
e.printStackTrace();
};

};
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐