通过dom4j对xml文档的读取操作工具类封装

原创 2014年11月26日 14:46:47
通过dom4j对xml文档的读取操作。

下面给出两个工具类:XmlDom4jUtil.java与Configure.java

-----XmlDom4jUtil.java

import java.io.File;
import java.io.FileOutputStream;
import java.util.Iterator;
import java.util.List;

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;

public class XmlDom4jUtil {
 
 /**
  * description:从XML文档到Document对象,如果XML文档不存在,则返回的Document对象为空。
  * 解析.xml文件成一个 Document 对象
  * @param filePath eg.xml文件所在路径或文件名
  * @return
  */
 public Document createDocXMLFile(String filePath){
  Document document = null;
  File file = new File(filePath);
  if(file.exists()){
   try{
             SAXReader saxReader = new SAXReader();
             document = saxReader.read(new File(filePath));               
         }catch(Exception ex){
             ex.printStackTrace();
         }
  }
  return document;
 }
 
 /**
  * description:从Document对象到XML文档 如果Document为空或filePath为空,则返回更新失败false。
  * 将经过处理的Document 对象转化为物理存储文件xml存放到filePath路径上
  * @param document 
  * @param filePath  将要生成的xml文档存放到的路径
  * @return
  */
 public boolean updateXMLFileDoc(Document document,String filePath){
  boolean result = false;
  if(document==null||filePath==null){
   return false;
  }  
  try{          
             XMLWriter writer = null;
             /** 格式化输出,类型IE浏览一样 */
             OutputFormat format = OutputFormat.createPrettyPrint();
             /** 指定XML编码 */
             format.setEncoding("UTF-8");
             //不要用 FileWriter 输出双字节,改为 FileOutputStream 输出单字节:
             writer= new XMLWriter(new FileOutputStream(new File(filePath)),format);
             writer.write(document);
             writer.close();     
             /** 执行成功,需返回1 */
             result = true; 
         }catch(Exception ex){
             ex.printStackTrace();
         }
     return result;
 }
}

---Configure.java

import org.dom4j.Document;

import com.hymake.hyplat.app.util.AppClassUtil;
import com.hymake.hyplat.app.util.XmlDom4jUtil;

public class Configure {
 
 private String filename ="";
 
    public Configure(String fileName){
     this.filename = fileName.trim();
    }
   
    //"//approval-config.xml"
    /**
     * 获得配置文件对应的Document对象
     */
    public Document getCurrentDoc(){
  XmlDom4jUtil xmlUtil = new XmlDom4jUtil();
  String filePath = AppClassUtil.getClassRootPath(this.getClass())+"//"+filename;
  Document doc = xmlUtil.createDocXMLFile(filePath);
  return doc;
 }
   
    /**
     * 获得配置文件在应用的绝对路径
     * @return
     */
    public String getAbsoluteFilePath(){
     return AppClassUtil.getClassRootPath(this.getClass())+"//"+filename;
    }
   
}

dom4j 学习 -- 封装dom4j工具类+如何使用dom4j解析

今天项目里面用到dom4j解析xml数据,特地整理了一下封装dom4j的工具方法,使用dom4j来解析xml文档. 首先是封装了dom4j的工具类: package myDOM4J; imp...
  • W3Chhhhhh
  • W3Chhhhhh
  • 2016年12月08日 21:44
  • 1951

Dom4jUtil工具类

package org.noures.framework.modules.util.dom4j; import java.io.File; import java.io.FileWriter; im...
  • HUXU981598436
  • HUXU981598436
  • 2013年11月14日 00:24
  • 1211

使用dom4j对xml文件进行读取和输出操作

1.xml文件的读取     读取xml文件的方式有两种,一种是面向模型的DOM方式,一种是面向事件的SAX方式     DOM方式原理:一次性的将xml文档加入内存,在内...
  • LH9898
  • LH9898
  • 2017年03月02日 23:13
  • 529

XML解析与Map、Json转换,Dom4j-工具类

XML解析与Map、Json、Bean转换,Dom4j-工具类
  • caodongfang126
  • caodongfang126
  • 2016年11月22日 16:03
  • 2971

使用dom4j解析xml文件,并封装为javabean对象

时间 2013-10-08 21:53:34  CSDN博客 原文  http://blog.csdn.net/tao_sun/article/details/12452167 主题 dom4j ...
  • zhaofuqiangmycomm
  • zhaofuqiangmycomm
  • 2017年11月01日 15:43
  • 279

DOM4J操作XML(包含封装和解析)

DOM4J操作XML(包含封装和解析)
  • caolipeng_918
  • caolipeng_918
  • 2014年10月22日 10:41
  • 1730

使用dom4j并利用java反射机制将对象集合写入XML

本代码中的方法可在未知某个类内的基本属性的时候,将对象集合写入xml中,利用了java反射机制 同时需要导入第三方jar包: dom4j.jar 方法为writeXml(ArrayList...
  • chance2015
  • chance2015
  • 2016年06月20日 14:52
  • 1258

XML工具封装类

公司通信协议一直都使用xml方式。最近中心服务更换框架。又把我原来写xml工具类修改了一下。原来是依赖jdom。现在修改成dom4j。    正好也跟大家分享一下。至于性能我倒是没测试过。还是有点...
  • liuyuehu
  • liuyuehu
  • 2014年03月31日 20:56
  • 3812

dom4j解析xml字符串实例

dom4j解析xml字符串实例    DOM4J       与利用DOM、SAX、JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异、功能强大和极端易用使用的特点,只要懂...
  • bestlove12345
  • bestlove12345
  • 2016年08月07日 12:19
  • 1371

Dom4J对XML文件的读取和写入

dom4j是一个对XML文件的读取和写入,初学者写的一篇小文章。
  • lovemenghaibin
  • lovemenghaibin
  • 2015年09月19日 19:30
  • 3559
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通过dom4j对xml文档的读取操作工具类封装
举报原因:
原因补充:

(最多只允许输入30个字)