今天,学习了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 是一个流行的 Java 库,用于解析和生成 XML 文档。然而,在使用 Dom4J 输出 XML 文档时,中文字符可能会出现乱码问题。这是因为 Dom4J 的默认编码方式可能不支持中文字符...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单且高效的API来读取、写入、修改以及操作XML。在这个实例中,我们将深入理解DOM4J库如何帮助我们处理XML文档,并通过实际操作来熟悉其核心功能。 XML...
在项目中使用DOM4J时,只需将相应的jar包(如dom4j-1.6.1.jar、dom4j-2.0.2.jar或dom4j-2.1.1.jar)导入到类路径中,即可开始利用其功能处理XML文档。导入后,可以按照DOM4J提供的API进行编程,快速实现XML的读写...
标签:dom4j、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
DOM4J的使用方法非常直观。例如,你可以使用以下代码创建一个新的XML文档: ```java DocumentFactory factory = DocumentFactory.getInstance(); Document document = factory.createDocument(); Element root...
标题中的“dom4j 写UTF-8的xml乱码问题 使用FileOutputStream”涉及的是在使用Java编程语言处理XML文件时遇到的编码问题。DOM4J是一个强大的Java库,用于处理XML、XPath和XSLT,它提供了丰富的API来读取、写入、修改...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、修改和查询变得简单。这次我们有两个版本的DOM4J库:1.6.1和2.0.0-ALPHA。这两个版本在功能、性能和API设计上都有所...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、修改和查询变得简单易行。在Java世界中,DOM4J是与DOM、SAX和JDOM等其他XML处理库并驾齐驱的一个选择,尤其在处理...
其中,`dom4j-1.6.1.jar`是运行时库,包含了DOM4J的所有类和方法;`dom4j-1.6.1-sources.jar`包含了源代码,方便查看和学习;`dom4j-1.6.1.tar.gz`和`dom4j-1.6.1.zip`则是不同的压缩格式,提供了库文件的打包形式。...
在"dom4j-2.1.3.jar"文件中,包含了DOM4J库的所有类和方法,可以用于构建、解析和操作XML文档。这个版本的DOM4J在前一版本的基础上进行了优化和更新,以适应不断发展的Java技术和XML应用场景。 "dom4j-2.1.3-...
包含翻译后的API文档:dom4j-2.1.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.dom4j:dom4j:2.1.1; 标签:dom4j、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开...
《深入解析DOM4J——基于Java的XML处理框架》 ...通过阅读DOM4J的API文档(如`dom4j-2.0.3-javadoc.jar`),结合源码学习(`dom4j-2.0.3-sources.jar`),可以深入理解其实现原理并更好地利用它来解决实际问题。
标题提及的"dom4j_1.6.1.jar"和"dom4j_2.1.0.jar"是两个不同版本的DOM4J库的Java档案文件,DOM4J是一个非常流行的Java XML API,用于处理XML文档。这两个版本的差异在于功能、性能优化和可能存在的bug修复。描述中...
dom4j-1.6.1.jar,Dom4j是一个Java的XML API接口,是jdom的进化版,dom4j基本用来读写xml文件,是一个十分优秀的JavaXML API接口
标题提到的"所有版本的dom4j工具包"表明这是一个包含多版本DOM4J库的集合,可能包括了从早期到较新的一些版本,如dom4j-1.4.jar、dom4j-1.6.1.jar和dom4j-1.5.2.jar。这些不同版本的库可能分别对应于不同的功能特性...
2. 性能优异:相比其他XML解析库,DOM4J在处理大规模XML文档时表现出更好的性能,因为它采用了一些优化策略,如延迟加载(lazy loading),避免一次性加载整个文档导致的内存消耗。 3. 功能强大:DOM4J不仅支持基本...
【DOM4J编码问题彻底解决】 DOM4J是一个流行的Java XML API,它提供了灵活和强大的方式来处理XML文档。在处理XML文档时,编码问题是一个常见的挑战,特别是当涉及到读取、写入或转换XML文件时。本文主要讨论了如何...
### Dom4J生成XML的完整方法详解 在Java开发领域,处理XML文档是常见的需求之一。Dom4J作为一款优秀的Java XML API,以其简洁、高效的特点,在生成、解析和操作XML文档方面表现突出。本文将深入探讨如何使用Dom4J库...
12. **常见问题与解决方案**:列举了一些在使用DOM4J过程中可能会遇到的问题及其解决方法。 通过阅读和实践DOM4J的帮助文档和使用教程,开发者可以全面掌握DOM4J的各种特性和用法,从而更高效地处理XML数据。这个...