Java写xml文件的编码问题

标签: java xml 文件 | 发表时间:2014-04-11 03:26 | 作者:wwwgeyang777
出处:http://blog.csdn.net

最近项目中需要生成xml格式的配置文件,用的是 javax.xml.transform.Transformer 类中提供的transform方法,在本地执行没问题,但是一旦把工程部署到Tomcat下运行,就会出现中文乱码的现象,纠结了许久,在大神的帮助下终于解决了。

有篇文章其实已经讲的很清楚了,链接如下:

http://www.cnblogs.com/yunmou/archive/2013/02/19/2917646.html

但是按照他给的方法还是不行,问题就出在

OutputStreamWriter osw = new OutputStreamWriter(fos); // 注意。。。 
这一行,作者虽然加了注意,但没说明怎么办,让我更加迷惑。

最后查了若干资料,发现确实是需要在这个地方进行注意。

最终代码如下:

                Source source = new DOMSource((Document) obj);

                // Create a new Transformer that performs a copy of the Source to the Result.
                TransformerFactory transFactory = TransformerFactory.newInstance();
                Transformer transFormer = transFactory.newTransformer();
                transFormer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
                transFormer.setOutputProperty(OutputKeys.METHOD, "xml");
                transFormer.setOutputProperty(OutputKeys.INDENT, "no");

                OutputStreamWriter outputStreamWriter = new OutputStreamWriter(
                    new FileOutputStream(path), "UTF-8");
                Result xmlResult = new StreamResult(outputStreamWriter);

                // Transform the XML Source to a Result.
                transFormer.transform(source, xmlResult);

找到区别了吧,以后遇到此类问题都可以这样解决了,开心啊!


作者:wwwgeyang777 发表于2014-4-10 19:26:58 原文链接
阅读:41 评论:0 查看评论

相关 [java xml 文件] 推荐:

Java写xml文件的编码问题

- - CSDN博客推荐文章
最近项目中需要生成xml格式的配置文件,用的是 javax.xml.transform.Transformer 类中提供的transform方法,在本地执行没问题,但是一旦把工程部署到Tomcat下运行,就会出现中文乱码的现象,纠结了许久,在大神的帮助下终于解决了. 有篇文章其实已经讲的很清楚了,链接如下:.

处理XML文件的三种方式(Java)

- - CSDN博客推荐文章
    DOM(Document Object Model),文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构. 换句话说,这是表示和处理一个HTML或XML文档的常用方法. 有一点很重要,DOM的设计是以对象管理组织(OMG)的规约为基的,因此可以用于任何编程语言.

java解析xml文件(三种方式-(dom ,jdom ,dom4j)

- - ITeye博客
第一种,利用dom方式解析xml 文件,无需jar包. //得到DOM解析器的工厂实例. //从DOM工厂中获得DOM解析器. //声明为File为了识别中文名. //得到文档名称为Student的元素的节点列表. //遍历该集合,显示结合中的元素及其子元素的名字. System.out.println("磁盘信息:");.

用java sax处理xml文件(DBLP数据集)

- - CSDN博客综合推荐文章
在java中,可以用多种方式处理xml文件. 前一段时间因为要使用到dblp数据集,而且这个数据集比较大无法一次性加载到内存中解析成文档树再处理. 所以只能用sax的方式边读边处理. 下面是dblp数据集的简介,在处理xml文件之前,对xml的结构的了解很重要:. DBLP是计算机领域内对研究的成果以作者为核心的一个计算机类英文文献的集成数据库系统,按年代列出了作者的科研成果.

android 或者java SAX解析XML

- - ITeye博客
本实例解析xml使用的是继承DefaultHandler类,此类就是java中封装好的xml解析器类,下面看代码详细说明:. 第一步:首先说明下xml文件,Java Sax解析是按照xml文件的顺序一步一步的来解析,在解析xml文件之前,我们要先了解xml文件的节点的种类,一种是ElementNode,一种是TextNode.

java解析xml数据---sax解析器

- - ITeye博客
下面是handler解析数据的方法. private HashMap map = null;// 存储单个解析的完整对象. private List> list = null;// 存储全部的解析对象. private String currentTag = null; // 正在解析的元素的标签.

java中多种方式解析xml

- - Java - 编程语言 - ITeye博客
DOM的全称是Document Object Model,也即文档对象模型. 在应用程序中,基于DOM的XML分析器将一个XML文档转换成一个对象模型的集合(通常称DOM树),应用程序正是通过对这个对象模型的操作,来实现对XML文档数据的操作. 通过DOM接口,应用程序可以在任何时候访问XML文档中的任何一部分数据,因此,这种利用DOM接口的机制也被称作随机访问机制.

XML to tree XML 树

- Bloger - 博客园-首页原创精华区
前面发了一个 html to tree 再发一个 xml to tree. 版权所有:版权所有(C) 2009. 文件名称:xml2tree.js. 完成日期:2009-12-22. 页:http://www.chaige.net */ var XML2Tree = function (ini) {.

通过JAXB实现完成java对象和xml的互相转换

- - ITeye博客
在项目中我们常常需要将java对象转为Xml,将xml转为java对象,这些繁琐的操作我们使用JAXB的话就可以很轻松的实现,一起看一个例子吧. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Java中4种XML解析与创建方式的例子与速度测试

- - IT瘾-jianshu
在慕课看java工程师的路径课程,看完了java的对xml文件读取与写入,在这里对这四种操作方式做个记录. 这里对于DOM和SAX各自的优缺点的不进行讨论了,主要将各自的操作步骤,和解析、创建进行列举,并对他们的速度进行检测. 基于以上1和2方式,需要导入jar包. 基于以上1和2方式,需要导入jar包.