Java操作XML文件 dom4j 篇

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java操作XML文件 dom4j 篇

2006年11月11日星期六 22:08

在项目中,我们很多都用到了xml文件,无论是参数配置还是与其它系统的数据交互。

今天就来讲一下Java 中使用dom4j来操作XML文件。

我们需要引入的包:

//文件包

import java.io.ByteArrayOutputStream;

import java.io.File;

import java.io.FileWriter;

//工具包

import java.util.Iterator;

import java.util.List;

//dom4j包

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;

1、将XML文件的内容转化为String

/**

* doc2String

* 将xml文档内容转为String

* @return 字符串

* @param document

*/

public static String doc2String(Document document)

{

String s = "";

try

{

//使用输出流来进行转化

ByteArrayOutputStream out = new ByteArrayOutputStream();

//使用GB2312编码

OutputFormat format = new OutputFormat(" ", true, "GB2312");

XMLWriter writer = new XMLWriter(out, format);

writer.write(document);

s = out.toString("GB2312");

}catch(Exception ex)

{

ex.printStackTrace();

}

return s;

}

2、将符合XML格式的String 转化为XML Document

/**

* string2Document

* 将字符串转为Document

* @return

* @param s xml格式的字符串

*/

public static Document string2Document(String s)

{

Document doc = null;

try

{

doc = DocumentHelper.parseText(s);

}catch(Exception ex)

{

ex.printStackTrace();

}

return doc;

}

3、将Document对象保存为一个xml文件到本地

/**

* doc2XmlFile

* 将Document对象保存为一个xml文件到本地

* @return true:保存成功 flase:失败

* @param filename 保存的文件名

* @param document 需要保存的document对象

*/

public static boolean doc2XmlFile(Document document,String filename) {

boolean flag = true;

try

{

/* 将document中的内容写入文件中 */

//默认为UTF-8格式,指定为"GB2312"

OutputFormat format = OutputFormat.createPrettyPrint();

format.setEncoding("GB2312");

XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)),format);

writer.write(document);

writer.close();

}catch(Exception ex)

{

flag = false;

ex.printStackTrace();

}

return flag;

}

4、将xml格式的字符串保存为本地文件,如果字符串格式不符合xml规则,则返回失败

/**

* string2XmlFile

* 将xml格式的字符串保存为本地文件,如果字符串格式不符合xml规则,则返回失败

* @return true:保存成功 flase:失败

* @param filename 保存的文件名

* @param str 需要保存的字符串

*/

public static boolean string2XmlFile(String str,String filename)

{

boolean flag = true;

try

{

Document doc = DocumentHelper.parseText(str);

flag = doc2XmlFile(doc,filename);

}catch (Exception ex)

{

flag = false;

ex.printStackTrace();

}

return flag;

}

5、载入一个xml文档

/**

* load

* 载入一个xml文档

* @return 成功返回Document对象,失败返回null

相关文档
最新文档