您的位置:首页 > 其它

Dom4j生成XML文件,并解决乱码问题

2011-03-28 22:14 417 查看
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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: