博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dom4j创建和解析xml
阅读量:6847 次
发布时间:2019-06-26

本文共 3184 字,大约阅读时间需要 10 分钟。

hot3.png

1:引入dom4j.jar包

免费下载:  http://ishare.iask.sina.com.cn/f/8133067.html?fr

2:创建接口
package xml;/**** @author hongliang.dinghl* 定义XML文档建立与解析的接口*/public interface XmlDocument {/*** 建立XML文档* @param fileName 文件全路径名称*/public void createXml(String fileName);/*** 解析XML文档* @param fileName 文件全路径名称*/public void parserXml(String fileName);}
3:完成实现类
package xml;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.Writer;import java.util.Iterator;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;/** * * @author hongliang.dinghl Dom4j 生成XML文档与解析XML文档 */public class Dom4jDemo implements XmlDocument {    public void createXml(String fileName) {        Document document = DocumentHelper.createDocument();        Element employees = document.addElement("employees");        Element employee = employees.addElement("employee");        Element name = employee.addElement("name");        name.setText("ddvip");        Element sex = employee.addElement("sex");        sex.setText("m");        Element age = employee.addElement("age");        age.setText("29");        try {            Writer fileWriter = new FileWriter(fileName);            XMLWriter xmlWriter = new XMLWriter(fileWriter);            xmlWriter.write(document);            xmlWriter.close();        } catch (IOException e) {            System.out.println(e.getMessage());        }    }    public void parserXml(String fileName) {        File inputXml = new File(fileName);        SAXReader saxReader = new SAXReader();        try {            Document document = saxReader.read(inputXml);            Element employees = document.getRootElement();            for (Iterator i = employees.elementIterator(); i.hasNext();) {                Element employee = (Element) i.next();                for (Iterator j = employee.elementIterator(); j.hasNext();) {                    Element node = (Element) j.next();                    System.out.println(node.getName() + ":" + node.getText());                }            }        } catch (DocumentException e) {            System.out.println(e.getMessage());        }        System.out.println("dom4j parserXml");    }}

4:在指定的盘符下创建指定的xml文件(这里我采用的是回写文件的方法,可以换成文件创建的方法,就是说如果所有回写的xml不存在那么就创建xml在回写内容。)

当指定文件不存在时创建文件:

FileOutputStream fileOutputStream = new FileOutputStream(fileName);

OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream,"UTF-8");

OutputFormat fmt = OutputFormat.createPrettyPrint();

fmt.setEncoding("utf-8");

XMLWriter writer = new XMLWriter(outputStreamWriter,fmt);

writer.write(document);

writer.close();

5:构建测试类
package xml;public class TestMain {                                      XmlDocument xmlEbi = new Dom4jDemo();    public void testCreate(){        xmlEbi.createXml("E:/xml/create.xml");    }    public void testParser(){        xmlEbi.parserXml("E:/xml/create.xml");    }    public static void main(String[] args) {        TestMain tm = new TestMain();        tm.testCreate();        tm.testParser();    }}

本文出自 “” 博客,请务必保留此出处

转载于:https://my.oschina.net/zhangshuge/blog/633829

你可能感兴趣的文章
Python精简笔记-[1] 从安装到编辑器的使用
查看>>
VMwareESX/ESXi 精简置备(thin)与厚置备(thick)虚拟机磁盘之间转换
查看>>
迭代器模式
查看>>
github 仓库重命名(改名)
查看>>
web前端性能优化
查看>>
为基恩士 TM-3000 激光测量仪定制的测量管理系统
查看>>
java反射机制+工厂模式+配置文件----->在谈到spring配置文件
查看>>
linux 操作系统进程系列
查看>>
持续化集成工具jenkins环境搭建及配置
查看>>
CDN架构以及原理分析
查看>>
2016年3月7日作业
查看>>
HDFS DataBlockScanner
查看>>
MVC模式基本理解
查看>>
开源 java CMS - FreeCMS2.8会员登录
查看>>
ps学习笔记 11,12 路径,色彩调整
查看>>
MDaemonV15 版本新特性介绍
查看>>
【Guava】基于guava的重试组件Guava-Retryer
查看>>
第三阶段计划
查看>>
【BZOJ2428】[HAOI2006]均分数据
查看>>
搭建个人/企业私有存储云盘-kodexplorer
查看>>