dom4j读取xml文件的简单使用
2014-01-09 09:51
471 查看
package com.cplatform.dom4j;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
* 创建document,添加节点,属性,注释
* 读取document
* 2014/1/8 13:34
* @author wanglei
*
*/
public class Dom4jUtil {
/**
* 创建document
* @return
*/
public static Document createDomFJ(){
//使用DocumentHelper类创建一个文档实例
return DocumentHelper.createDocument();
}
/**
* 创建根节点
* @param rootName 根节点的名字
* @param dom 文档
* @return
*/
public static Element createRoot(String rootName,Document doc){
return doc.addElement(rootName);
}
/**
* 给父节点添加子节点
* @param subName 子节点名字
* @param el 父节点
* @return
*/
public static Element appendChild(String subName,Element el){
return el.addElement(subName);
}
/**
* 给节点赋值
* @param el 节点
* @param value 值
*/
public static void setValue(Element el, String value){
el.setText(value);
}
/**
* 给父节点添加子节点并赋值
* @param subName
* @param el
* @param value
* @return
*/
public static Element appendChild(String subName,Element el,String value){
Element sub = el.addElement(subName);
sub.setText(value);
return sub ;
}
/**
* 添加属性并赋值
* @param attName
* @param attValue
* @param el
*/
public static void addAttribute(String attName,String attValue,Element el){
el.addAttribute(attName, attValue);
}
/**
* 给节点添加说明
* @param commemt 说明的内容
* @param el 需要添加的节点
*/
public static void addComment(String commemt,Element el){
el.addComment(commemt);
}
/**
* 给文档添加注释
* @param comment
* @param doc
*/
public static void addComment(String comment,Document doc){
doc.addComment(comment);
}
/**
* 将document写入文件
* @param encode 编码方式
* @param filePath 文件路径
* @param doc 文档
*/
public static void writeFileFromDocument(String encode,String filePath,Document doc){
OutputFormat format = OutputFormat.createPrettyPrint();//紧缩
format.setEncoding(encode);
try {
XMLWriter writer = new XMLWriter(new OutputStreamWriter(
new FileOutputStream(filePath)),format);
writer.write(doc);
writer.close();
} catch (IOException e) {
System.out.println("写入文件错误");
e.printStackTrace();
}
}
/**
* 得到根节点
* @param filePath
* @return
*/
public static Element getRootElement(String filePath){
SAXReader reader = new SAXReader();
Document doc = null;
try {
doc = reader.read(new FileInputStream(new File(filePath)));
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return doc.getRootElement();
}
/**
* 得到该节点下的所有子节点(不包括子节点的子节点)
* @param el
* @return
*/
@SuppressWarnings("unchecked")
public static List<Element> getElements(Element el){
return el.elements();
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
* 创建document,添加节点,属性,注释
* 读取document
* 2014/1/8 13:34
* @author wanglei
*
*/
public class Dom4jUtil {
/**
* 创建document
* @return
*/
public static Document createDomFJ(){
//使用DocumentHelper类创建一个文档实例
return DocumentHelper.createDocument();
}
/**
* 创建根节点
* @param rootName 根节点的名字
* @param dom 文档
* @return
*/
public static Element createRoot(String rootName,Document doc){
return doc.addElement(rootName);
}
/**
* 给父节点添加子节点
* @param subName 子节点名字
* @param el 父节点
* @return
*/
public static Element appendChild(String subName,Element el){
return el.addElement(subName);
}
/**
* 给节点赋值
* @param el 节点
* @param value 值
*/
public static void setValue(Element el, String value){
el.setText(value);
}
/**
* 给父节点添加子节点并赋值
* @param subName
* @param el
* @param value
* @return
*/
public static Element appendChild(String subName,Element el,String value){
Element sub = el.addElement(subName);
sub.setText(value);
return sub ;
}
/**
* 添加属性并赋值
* @param attName
* @param attValue
* @param el
*/
public static void addAttribute(String attName,String attValue,Element el){
el.addAttribute(attName, attValue);
}
/**
* 给节点添加说明
* @param commemt 说明的内容
* @param el 需要添加的节点
*/
public static void addComment(String commemt,Element el){
el.addComment(commemt);
}
/**
* 给文档添加注释
* @param comment
* @param doc
*/
public static void addComment(String comment,Document doc){
doc.addComment(comment);
}
/**
* 将document写入文件
* @param encode 编码方式
* @param filePath 文件路径
* @param doc 文档
*/
public static void writeFileFromDocument(String encode,String filePath,Document doc){
OutputFormat format = OutputFormat.createPrettyPrint();//紧缩
format.setEncoding(encode);
try {
XMLWriter writer = new XMLWriter(new OutputStreamWriter(
new FileOutputStream(filePath)),format);
writer.write(doc);
writer.close();
} catch (IOException e) {
System.out.println("写入文件错误");
e.printStackTrace();
}
}
/**
* 得到根节点
* @param filePath
* @return
*/
public static Element getRootElement(String filePath){
SAXReader reader = new SAXReader();
Document doc = null;
try {
doc = reader.read(new FileInputStream(new File(filePath)));
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return doc.getRootElement();
}
/**
* 得到该节点下的所有子节点(不包括子节点的子节点)
* @param el
* @return
*/
@SuppressWarnings("unchecked")
public static List<Element> getElements(Element el){
return el.elements();
}
}
相关文章推荐
- web页面重构怎么操作?
- Android用户界面之提示信息(Toast)
- PHP简单连接数据库并创建表
- linux core文件
- android 自定义RatingBar图案
- Effective stl 第1章 容器 第5条
- 蛋疼的JSONP
- JS获取节点的兄弟,父级,子级元素的方法
- 企业级监控软件Zabbix搭建部署之使用mutt+msmtp配置Zabbix邮件报警 推荐
- 语摘杂论
- Android Fragment完全解析,关于碎片你所需知道的一切
- Google Java Style
- 切分文件名提取文件扩展名或提取文件名
- Linux驱动子系统之I2C(2) .
- 关于Eclipse不自动弹出提示(alt+/快捷键失效)
- javac写的简单的人脸识别知识点
- C#基础知识系列四(运算符汇总)
- intent详解
- Android用户界面对话框之警告对话框(ALertDialog)
- Js实现当前导航菜单高亮显示