用Dom4j解析XML及中文问题(三)
来源:互联网 发布:杨支柱知乎 编辑:程序博客网 时间:2024/05/16 18:12
5. 格式化输出和指定编码
默认的输出方式为紧凑方式,默认编码为UTF-8,但对于我们的应用而言,一般都要用到中文,并且希望显示时按自动缩进的方式的显示,这就需用到OutputFormat类。
/**
* 格式化XML文档,并解决中文问题
* @param filename
* @return
*/
public int formatXMLFile(String filename){
int returnValue = 0;
try{
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File(filename));
XMLWriter writer = null;
/** 格式化输出,类型IE浏览一样 */
OutputFormat format = OutputFormat.createPrettyPrint();
/** 指定XML编码 */
format.setEncoding("GBK");
writer= new XMLWriter(new FileWriter(new File(filename)),format);
writer.write(document);
writer.close();
/** 执行成功,需返回1 */
returnValue = 1;
}catch(Exception ex){
ex.printStackTrace();
}
return returnValue;
}
说明:
OutputFormat format = OutputFormat.createPrettyPrint();
这句指定了格式化的方式为缩进式,则非紧凑式。
format.setEncoding("GBK");
指定编码为GBK。
XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)),format);
这与前面两个方法相比,多加了一个OutputFormat对象,用于指定显示和编码方式。
6. 完整的类代码
前面提出的方法都是零散的,下面给出完整类代码。
Dom4jDemo.java
package com.holen.dom4j;
import java.io.File;
import java.io.FileWriter;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
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;
/**
* @author Holen Chen
*/
public class Dom4jDemo {
public Dom4jDemo() {
}
public int createXMLFile(String filename){…}
public int ModiXMLFile(String filename,String newfilename){…}
public int formatXMLFile(String filename){…}
public static void main(String[] args) {
Dom4jDemo temp = new Dom4jDemo();
System.out.println(temp.createXMLFile("d://holen.xml")); System.out.println(temp.ModiXMLFile("d://holen.xml","d://holen2.xml"));
System.out.println(temp.formatXMLFile("d://holen2.xml"));
}
}
说明:
main()方法中依次调用三个方法,第一个方法用于生成holen.xml,第二个方法用于修改holen.xml,并且修改后的内容另存为holen2.xml,第三个方法将holen2.xml格式化缩进式输出,并指定编码方式为GBK。
- 用Dom4j解析XML及中文问题(三)
- 用Dom4j解析XML及中文问题
- 用Dom4j解析XML及中文问题
- 用Dom4j解析XML及中文问题
- 用Dom4j解析XML及中文问题
- 用Dom4j解析XML及中文问题
- 用Dom4j解析XML及中文问题
- 用Dom4j解析XML及中文问题[转]
- 用Dom4j解析XML及中文问题(一)
- 用Dom4j解析XML及中文问题(二)
- ERROR:使用dom4j解析xml文件遇到中文路径问题
- dom4j生成xml文件,解析后出现中文乱码问题
- dom4j解析xml遇中文,加载报错问题
- dom4j生成xml中文问题
- 用DOM4J解析XML
- 用DOM4J解析XML
- 用dom4j解析xml
- Dom4j解析XML时中文路径解决方案
- 将简单问题复杂化适合做软件开发吗?
- asp.net 拾遗格式化字符串 asp.net
- 最近使用Sql Server 2000 的经验
- 基于Ajax无刷新实时loading页面
- sqlserver 2000中执行分布式事务的步骤
- 用Dom4j解析XML及中文问题(三)
- 汇编 延时程序
- DBA这个职业感觉很高深
- 在Oracle中实现搜索分页查询
- 等待页面loading
- SqlServer2000
- 链表实现一元多项式加法
- 写了两天的代码 工作真辛苦
- 正真的工作开始了