dom4j读写XML文件
XML文件格式:
<?xml version="1.0" encoding="UTF-8"?>
<company>
<employee name="zhangsan" value="张三"/>
<employee name="lisi" value="李四"/>
<employee name="wangwu" value="王五"/>
</company>
dom4j读写方法:
/**
* 读取
*/
public static void read() {
try {
File xmlFile = new File("d://company.xml");
Document document = new SAXReader().read(xmlFile);
List<Element> elements = document.selectNodes("/company/employee");
for (Element element : elements) {
String name = element.attributeValue("name");
String value = element.attributeValue("value");
System.out.println(name + " = " + value);
}
} catch (Exception e) {
e.printStackTrace();
}
} /**
* 写入
*/
public static void write() {
FileOutputStream fileOutputStream = null;
XMLWriter xmlWriter = null;
try {
File xmlFile = new File("d://company.xml");
Document document = new SAXReader().read(xmlFile);
// 获取根节点
Element root = document.getRootElement();
// 动态添加 <employee name="xiaohong" value="小红"/>
Element employee = root.addElement("employee");
employee.addAttribute("name", "xiaohong");
employee.addAttribute("value", "小红");
OutputFormat outputFormat = OutputFormat.createPrettyPrint();
outputFormat.setEncoding("UTF-8");
outputFormat.setIndent(true);
outputFormat.setIndent(" ");// tab格
outputFormat.setNewlines(true);// 换行
fileOutputStream = new FileOutputStream(xmlFile);
xmlWriter = new XMLWriter(fileOutputStream, outputFormat);
xmlWriter.write(document);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (xmlWriter != null) {
try {
xmlWriter.close();
} catch (IOException e) {
}
}
} }
写入后XML格式:
<?xml version="1.0" encoding="UTF-8"?> <company>
<employee name="zhangsan" value="张三"/>
<employee name="lisi" value="李四"/>
<employee name="wangwu" value="王五"/>
<employee name="xiaohong" value="小红"/>
</company>
注:所需包 dom4j-1.6.1.jar、jaxen-1.1.1.jar
dom4j读写XML文件的更多相关文章
- Java实现——Dom4j读写XML文件
1. dom4j概述 解析DOM4J是一个开源XML解析包,采用了Java集合框架并完全支持DOM,SAX和JAXP. 最大的特色是使用了大量的接口,主要接口都在org.dom4j里定义. 2. do ...
- Java 读写XML文件 API--org.dom4j
om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...
- Dom4j下载及使用Dom4j读写XML简介
sitinspring(如坐春风)原创,转载请注明作者及出处. 要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4 ...
- 1.使用dom4j解析XML文件
一.dom4j的简介 dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,它 ...
- Java进阶(二十七)使用Dom4j解析XML文件
使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ...
- Dom4j下载及使用Dom4j读写XML简介(转)
Dom4j下载及使用Dom4j读写XML简介 要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:ht ...
- 【java项目实战】dom4j解析xml文件,连接Oracle数据库
简单介绍 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方.我们还是看一下官方给出的解释.例如以下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT ...
- dom4j读写XML文档
dom4j 最常用最简单的用法(转) 要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http:/ ...
- 【DRP】採用dom4j完毕XML文件导入数据库
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/lantingxv_jing/article/details/37762523 xml文件在如 ...
随机推荐
- Flask 与 Celery 在 windows 下的集成问题
Flask 与 Celery 在 windows 下的集成问题 所有的 Web 框架内部的视图中不适合执行需要长时间运行的任务,包括 Flask .Django 等.这类型的任务会阻塞 Web 的响应 ...
- 深入SQL截取字符串(substring与patindex)的详解
首先学习两个函数1.substring 返回字符.binary.text 或 image 表达式的一部分.基本语法:SUBSTRING ( expression , start , length ) ...
- 对memcpy函数的改进
void *mymemcpy(void *dst,const void *src,size_t num) { assert((dst!=NULL)&&(src!=NULL)); int ...
- jni学习
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程接口,它使得在 Java 虚拟机(VM) 内部运行的 ...
- linux内核编译相关
参考:http://www.arm.linux.org.uk/docs/kerncomp.php 一. 内核编译1) linux 2.4make clean/make mrpropermake dep ...
- [3D]绘制线
数据实体: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy ...
- MVC Router学习
Route顾名思义就是路由的意思了. 我们先打开Global.asax查看代码 可以看到 routes.MapRoute( "Default", // 路由名称 & ...
- ES6入门之Iterator和for...of
Iterator遍历器 遍历器(Iterator)就是这样一种机制.它是一种接口,为各种不同的数据结构提供统一的访问机制.任何数据结构只要部署Iterator接口,就可以完成遍历操作(即依次处理该数据 ...
- HTML语言的一些元素(二)
3)表示元素:<b>,<i>,<u>,<s>,<tt>,<sup>,<sub>,<strike>,< ...
- PHP——生成随机数和日期时间
在PHP里面两个常用的函数 rand(); 生成随机数 当括号内无参数时 系统会以当前时间为种子进行随机数的生成 rand(1,10); 括号里面是生成随机数的范围,在形成的随机数在1~1 ...