Dom4J xml处理(我的第一个封装类)
Posted 清风徐来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dom4J xml处理(我的第一个封装类)相关的知识,希望对你有一定的参考价值。
Dom4J 是处理xml的一个高效强大的工具包
下面是我自己写的工具类 希望能对大家有帮助,下面是主要方法(注本类使用dom4j-1.6.1.jar包下载地址http://pan.baidu.com/s/1o7Vasmm)
主要方法1:getDocument(String path);获取documen对象
2:xmlWrites(String path,Document document);回写xml文件
3:getElement(String qname,String textString);创建元素对象
4:addRootChild(String path,int index,String qname,String textString);在根节点的第index位置添加节点
5:getElements(Element element) ;递归element元素的节点
6:getElements(String path);遍历xml文件
废话不多说,直接上代码
package utils.dom4jutils; import java.io.FileOutputStream; import java.util.List; 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; /* * @author:钟冬冬 * @time:2017-02-18 13:48 * @function:处理xml封装类 */ public class Dom4jUtils { //1:获取document public static Document getDocument(String path){ try { //构建解析器 SAXReader saxReader=new SAXReader(); //获取document对象 Document document=saxReader.read(path); return document; } catch (Exception e) { e.printStackTrace(); } return null; } //2回写xml public static void xmlWrites(String path,Document document){ try { //获取设置xml格式实例 OutputFormat format=OutputFormat.createPrettyPrint(); //读取xml XMLWriter xmlWriter=new XMLWriter(new FileOutputStream(path),format); //回写到xml文件 xmlWriter.write(document); //关闭文件流 xmlWriter.close(); } catch (Exception e) { e.printStackTrace(); } } //3创建元素标签,返回元素对象 public static Element getElement(String qname,String textString){ try { //创建element标签 Element element=DocumentHelper.createElement(qname); //向element标签中加入内容 element.setText(textString); return element; } catch (Exception e) { e.printStackTrace(); } return null; } //4增加根节点下的第i个节点增加内容为i的节点 public static void addRootChild(String path,int index,String qname,String textString){ //获取document Document document=Dom4jUtils.getDocument(path); //获取根节点 Element root=document.getRootElement(); //获取root下的所有元素 List<Element> list=root.elements(); //创建元素标签 Element element=Dom4jUtils.getElement(qname, textString); //把element加入根节点下 list.add(index,element); //回写xml xmlWrites(path, document); } //5遍历xml文件之递归 public static void getElements(Element element) { List<Element> list=element.elements(); //遍历xml for(int i=0; i<list.size();i++){ System.out.println(list.get(i)); List<Element> l= list.get(i).elements(); System.out.println(l.size()); getElements(list.get(i)); } } //6遍历xml文件 public static void getElements(String path) { //获取document Document document=Dom4jUtils.getDocument(path); //获取根节点 Element root=document.getRootElement(); getElements(root); } }
本人新手,欢迎指导批评!!!!!求点赞,求推荐。
以上是关于Dom4J xml处理(我的第一个封装类)的主要内容,如果未能解决你的问题,请参考以下文章