dom4j操作xml時的亂碼與格式化

Dom4j是一個易用的、開源的庫,用於XML,XPath和XSLT。它應用於Java平臺,採用了Java集合框架並完全支持DOM,SAX和JAXP。(Hibernate用此項目來解析hbm映射文件)


下面的java代碼演示如何寫xml文件

 

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

/**
* @Copyright @ 2012 All right reserved
* @version 創建時間:Created on 2012-12-20
* @author 作者:Create by www.360buyli.com
* @Email: [email protected]
* @description 用於操作xml
*/

public class XmlUtil {
public void generateDocument() {
Document document = DocumentHelper.createDocument();
Element catalogElement = document.addElement("catalog");
catalogElement.addComment("An XML Catalog");
catalogElement.addProcessingInstruction("target", "text");
Element journalElement = catalogElement.addElement("student");
journalElement.addAttribute("stuName", "張三");
Element clsElement=journalElement.addElement("class");
clsElement.addAttribute("claName","電氣一班");
document.addDocType("catalog", null, "file://c:/Dtds/catalog.dtd");
try {
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GB2312");
XMLWriter output = new XMLWriter(new FileWriter(new File("c:/catalog.xml")),format);

output.write(document);
output.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}

public static void main(String[] argv) {
XmlUtil dom4j = new XmlUtil();
dom4j.generateDocument();
}

}

往往操作文件並不是實現本身,而是在操作文本是碰到的亂碼問題。操作xml這樣的文本文件同樣會存在亂碼問題。剛開始沒有加紅色加粗部分時,寫出來的xml文件完全是沒有格式化的,還是就是中文亂碼。從類的命名,可以看出這個處理對輸入的格式化。後面的設置編碼也正好解決了亂碼的問題


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章