`
csblot203
  • 浏览: 14692 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

dom4j乱码出现错误

阅读更多

package com.havenliu.blog;
 
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
 
public class Dom4jXmlOper {
 
 public static void createXml(File file)
 {
  XMLWriter writer = null;
  SAXReader reader = new SAXReader();
 
  OutputFormat format = OutputFormat.createPrettyPrint();
  format.setEncoding("utf-8");//设置XML文件的编码格式,如果有中文可设置为GBK或UTF-8
 
  Document _document = DocumentHelper.createDocument();
  Element _root = _document.addElement("userinfo");
  Element user = _root.addElement("user");
  user.addAttribute("id", "001");
  Element name = user.addElement("name");
  name.setText("张三");
  Element age = user.addElement("age");
  age.setText("28");
  Element sex = user.addElement("sex");
  sex.setText("男");
  Element email = user.addElement("email");
  email.setText("abc@abc.com");
 
  //如果上面设置的xml编码类型为GBK,则应当用FileWriter来构建xml文件,否则会出现中文连码问题
  /*
   try {
   writer = new XMLWriter(new FileWriter(file), format);
  } catch (IOException e1) {
   e1.printStackTrace();
  }
  */
 
  //如果上面设置的xml编码类型为utf-8,则应当用FileOutputStream来构建xml文件,否则还是会出现乱码问题
  FileOutputStream fos = null;
  try {
   fos = new FileOutputStream(file);
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  }
  try {
   writer = new XMLWriter(fos, format);
  } catch (UnsupportedEncodingException e) {
   e.printStackTrace();
  }
  try {
   writer.write(_document);
   writer.close();
  } catch (IOException e) {
   e.printStackTrace();
  }
 }
 public static void main(String[] args)
 {
  String filePath = "d:\\temp\\user.xml";//生产的XML文件位置
  File file = new File(filePath);
  Dom4jXmlOper.createXml(file);
 }
 
}

分享到:
评论

相关推荐

    Dom4j解析XML

    ### Dom4j解析XML及其中文问题解决 #### 一、Dom4j简介 Dom4j是一种用于处理XML的Java库,它提供了一种简洁而强大的API来读取、写入和操作XML数据。自2001年首次发布以来,Dom4j因其直观的接口和高效的性能而在...

    Dom4j解析XML.pdf

    本文主要介绍了如何使用Dom4j库来解析XML文档,包括创建XML文档、添加、修改和删除节点,以及处理XML文档的格式化输出和中文问题。Dom4j是一个在SourceForge.net上的开源Java项目,它提供了对XML的高效解析功能,以...

    ping4j 汉字转英文控件

    【ping4j 汉字转英文控件】是一个用于处理汉字与英文转换的软件组件,尤其在编程和国际化(i18n)场景中非常有用。...开发者在使用过程中应仔细阅读文档和示例,以充分利用其功能并避免可能出现的错误。

    mysql乱码问题分析与解决方法

    例如,在本案例中,开发者在将XML文件通过DOM4J解析并利用Spring和Hibernate写入MySQL数据库时,遇到了乱码问题。 在分析问题时,开发者首先检查了代码,确认使用Spring的HibernateTemplate保存数据无误。接着,...

    Servlet+JSP

    - **DOM4J**:DOM4J是一个开源的Java库,用于处理XML文档,支持DOM、SAX和JDOM等多种API。 - **使用示例**:DOM4J提供了丰富的API来读取、解析、修改和输出XML文档,例如通过Document对象获取根节点、遍历XML树等。

    Android开发问题集锦第四期

    - **引入Apache Ant库**:这是一个较为常见的解决方案,Apache Ant库不仅能够帮助解决中文乱码问题,还包含了完整的DOM解析库(如dom4j),可以用来处理XML文档等。然而,这样做也会导致应用程序的体积增大,因为Ant...

    J2EEweb讲解(个人修订1.2).doc

    字符编码问题在Web开发中常常遇到,了解Unicode、ASCII、UTF-8等编码格式以及如何处理乱码问题对于创建兼容多语言的Web应用非常关键。 总的来说,这份文档提供了全面的J2EE Web开发基础,覆盖了从网络协议到服务器...

    php手册PHP5研究室编无乱码版本chm

    J. 保留字列表 K. 资源类型列表 L. 支持的协议/封装协议列表 M. 可用过滤器列表 N. 所支持的套接字传输器(Socket Transports)列表 O. PHP 类型比较表 P. 解析器代号列表 Q. 关于本手册 R. 开放出版许可...

    POI2与POI3差异及解决excel2003和excel2007兼容性研究报告-V1.1.pdf

    此外,还需要确保项目依赖的所有其他库,如DOM4J、STAX和XMLBeans,都是与POI3.x兼容的版本。这通常意味着更新这些库以与POI3.x一起工作,特别是XMLBeans需要2.3或更高版本。 总的来说,解决Excel 2003和2007之间的...

    java excel 导入手机号码(包括对手机的验证)

    dom4j-1.6.1.jar;geronimo-stax-api_1.0_spec-1.0.jar;poi-3.7-20101029.jar;poi-ooxml-3.7-20101029.jar;poi-ooxml-schemas-3.7-20101029.jar;xmlbeans-2.3.0.jar; */ public static void main(String[] args) { ...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...

    将xml文件转换成csv格式

    2. **解析XML文件**:使用XML解析器,如Python的`ElementTree`库,Java的`JDOM`或`DOM4J`,或者JavaScript的`DOMParser`,来读取和解析XML文件。解析器能够将XML文档转化为可操作的对象结构。 3. **构建CSV数据模型...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    3.5.1 下载并配置dom4j 88 3.5.2 dom4j api介绍 88 3.5.3 第一个实例 92 3.5.4 第二个实例 94 3.6 解析名称空间 96 3.6.1 dom和名称空间 96 3.6.2 sax和名称空间 97 3.6.3 jdom和名称空间 98 3.6.4 dom4j和...

    动态网页(JSP+Servlet)教程

    4. 创建新的 Server 或添加 Tomcat 到现有 Server 中。 **2.3 Tomcat server.xml 配置** `server.xml` 是 Tomcat 的核心配置文件,用于定义服务器的各种参数,如端口号、连接器等。 **2.4 Tomcat应用的部署** -...

    音乐播放器YOYOPlayer1.2源码

    此外,解析返回的歌词数据可能涉及JSON或XML的处理,这部分可能使用了JAVA的内置解析库如Jackson或DOM4J。 YOYOPlayer1.2的源码很可能包含了UI设计,使用了Swing或JavaFX来构建用户界面。Swing是JAVA的标准GUI库,...

    Html转Word(doc,docx),带样式以及图片

    转换过程中可能遇到的问题包括图片丢失、CSS样式不一致、特殊字符乱码等。处理这些问题需要深入理解HTML和Word的内在差异,并进行细致的错误检查和调整。 综上所述,HTML转Word的过程涉及多种技术,包括HTML解析、...

    用jdom解析xml源代码资料

    2. **性能优化**:JDOM的内存消耗相对较高,对于大型XML文件,可能需要考虑其他解析器如DOM4J或StAX。 3. **版本兼容性**:确保使用的JDOM库版本与你的项目和其他依赖库兼容。 4. **编码问题**:确保XML文件和Java...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    4.DOM则为脚本和对象的交流提供一个公共平台,并将结果显示在浏览器窗口。 如果任何一个部分发生错误,都不会得到正确结果。 好了,看到这里,我们已经对XML是如何工作的有一个整体的大致的概念。通过这一章的...

Global site tag (gtag.js) - Google Analytics