dom4j操作xml时的乱码与格式化
2012-12-30 13:00
351 查看
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: 360buyli@gmail.com
* @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文件完全是没有格式化的,还是就是中文乱码。从类的命名,可以看出这个处理对输入的格式化。后面的设置编码也正好解决了乱码的问题
下面的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: 360buyli@gmail.com
* @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文件完全是没有格式化的,还是就是中文乱码。从类的命名,可以看出这个处理对输入的格式化。后面的设置编码也正好解决了乱码的问题
相关文章推荐
- dom4j操作xml时的乱码与格式化
- dom4j xpath 操作 xml 乱码
- “用dom4j解析包”对xml进行dom方式操作中文乱码解决方案
- java操作xml方式比较与详解(DOM、SAX、JDOM、DOM4J)
- dom4j对xml字符串的操作
- Dom4j解析XML基本操作【收集整理】
- 使用dom4j操作生成XML
- java操作xml之dom4j
- java中四种操作(dom、sax、jdom、dom4j)xml方式详解与比较
- 使用dom4j操作xml文件
- java操作(DOM、SAX、JDOM、DOM4J)xml方式的四种比较与详解
- java用dom4j操作XML
- dom4j 操作 xml
- dom4j解析及写入XML文档时的乱码问题
- “用dom4j解析包”对xml进行dom方式操作--ReadXML
- XML:Dom4j操作XML的CRUD、XPath
- dom4j处理xml在linux环境下中文乱码
- Dom4j-操作节点和属性及写入其他xml文件
- dom4j操作xml对象
- Java四种方式操作 xml,DOM|SAX|JDOM|DOM4J