今天,学习了DOM4J,发现在eclipse中通过XMLWriter(或者FileWriter)输出XML内容中含有中文,按照默认方式会出现乱码。
package com.edu.scau;
import java.io.FileWriter;
import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class TestFormatWriteout {
public static void main(String[] args) throws Exception{
//创建一个document对象,保存要输出的XML对象
Document document = DocumentHelper.createDocument();
//为document添加一个根节点“Root”
Element root = document.addElement("Root");
//在根节点root下添加一个子节点"Author"
Element author = root
.addElement("Author")
.addAttribute("name", "Jame")
.addText("没有问题");
//创建一个输出格式format
OutputFormat format = OutputFormat.createPrettyPrint();
//将document写出到writeFormat.xml文件
XMLWriter writer = new XMLWriter(new FileWriter("writeFormat.xml"), format);
writer.write(document);
writer.flush();
writer.close();
}
}
要使得在“writeFormat.xml”文件中不出现中文乱码,有两个解决方法:
- 在eclipse中设置java源文件的保存格式为“utf-8”:编辑/设置编码(注意当前代码编辑窗口应该是我们要改变编码的java文件)。因为在eclipse中,默认的XML声明中的encoding属性值是“utf-8”,所以,我们的源文件也要保存成“utf-8”格式,才不会出现乱码(关于详细的XML乱码说明请看我的“XML基础语法”)。
- 在输出格式中通过setEncoding("GBK")方法来设定XML声明中的encoding属性值,从而解决中文乱码,因为我们的系统是中文系统(我用的是WIN7旗舰版),Eclipse默认的对源代码的编码是系统的GBK格式,所以通过setEncoding("GBK")来设置XML声明才能生效(保证XML的源文件编码格式与声明的格式一致,才能使解析器正常解析XML文件)。
package com.edu.scau;
import java.io.FileWriter;
import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class TestFormatWriteout {
public static void main(String[] args) throws Exception{
//创建一个document对象,保存要输出的XML对象
Document document = DocumentHelper.createDocument();
//为document添加一个根节点“Root”
Element root = document.addElement("Root");
//在根节点root下添加一个子节点"Author"
Element author = root
.addElement("Author")
.addAttribute("name", "Jame")
.addText("没有问题");
//创建一个输出格式format
OutputFormat format = OutputFormat.createPrettyPrint();
//通过setEncoding()方法指定XML编码格式
format.setEncoding("GBK");
//将document写出到writeFormat.xml文件
XMLWriter writer = new XMLWriter(new FileWriter("writeFormat.xml"), format);
writer.write(document);
writer.flush();
writer.close();
}
}
分享到:
相关推荐
dom4j 输出XML时中文乱码解决 dom4j 输出XML时中文乱码解决
标签:dom4j、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
dom4j读写xmldom4j读写xmldom4j读写xmldom4j读写xmldom4j读写xml
dom4j dom4j dom4j dom4j dom4j dom4j
DOM4J jar包 所有的包 xml解析 dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1 导入直接使用
包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.dom4j:dom4j:2.1.1; 标签:dom4j、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开...
dom4j常用方法 i.SAXReader sr = new SAXReader(); 生成解析器对象 ii.解析器对象.read(file对象); 解析文件生成Document对象 iii.文档对象.getRootElement() 获取跟元素节点 iv.元素节点.elements() 获取到指定...
Dom4j 读写 XML
JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源代码 dom4j-1.6.1JavaEE源...
NULL 博文链接:https://sxpujs.iteye.com/blog/375485
Dom4J生成XML的完整方法希望大家能用到
dom4j中文彻底解决
Dom4j解析XML及中文问题Dom4j解析XML及中文问题Dom4j解析XML及中文问题Dom4j解析XML及中文问题Dom4j解析XML及中文问题Dom4j解析XML及中文问题
dom4j-1.6.1.zip与 dom4j-2.0.0-ALPHA-2.jar
Dom4j解析教程。详细讲解如何使用dom4j解析xml,简单易懂。
maven dom4j 1.6.1安装包
dom4j-1.6.1.jar,Dom4j是一个Java的XML API接口,是jdom的进化版,dom4j基本用来读写xml文件,是一个十分优秀的JavaXML API接口
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...
dom4j帮助文档 官方API All Classes Packages org.dom4j org.dom4j.bean org.dom4j.datatype org.dom4j.dom org.dom4j.dtd org.dom4j.io org.dom4j.jaxb org.dom4j.rule org.dom4j.rule.pattern org.dom...
dom4j是非常优秀的xml解析包,操作起来读写xml非常方便。把自己写的一个读写dom4j.xml实例共享给大家