dom4j解析xml文档(增删改查)
2024-10-12 02:52:05
package itcast.dom4j; import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
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;
import org.junit.Test; public class Demo { // 在第一本书上添加一个新的售价:<price>209yuan</price>
@Test
public void add() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("src/book.xml")); Element book = document.getRootElement().element("书");
book.addElement("price").setText("209yuan"); OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream("src/book.xml"),
format);
writer.write(document);
writer.close();
} @Test
public void add2() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("src/book.xml")); Element book = document.getRootElement().element("书");
List list = book.elements();// bookname/author/price Element price = DocumentHelper.createElement("price");
price.setText("309yuan"); list.add(2, price); OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream("src/book.xml"),
format);
writer.write(document);
writer.close();
} @Test
public void delete() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("src/book.xml")); Element price = document.getRootElement().element("书").element("price");
price.getParent().remove(price); OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream("src/book.xml"),
format);
writer.write(document);
writer.close();
} @Test
public void update() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("src/book.xml")); Element book = (Element) document.getRootElement().elements("书").get(1);
book.element("editor").setText("zero"); OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8"); XMLWriter writer = new XMLWriter(new FileOutputStream("src/book.xml"),
format);
writer.write(document);
writer.close();
} }
<?xml version="1.0" encoding="UTF-8"?> <书架>
<书>
<bookname name="zero">java jiuyepeixunjiaocheng</bookname>
<editor>zhangxiaoxiang</editor>
<price>209yuan</price>
</书>
<书>
<bookname name="one">javaWebprogramming</bookname>
<editor>zero</editor>
<price>28.00yuan</price>
</书>
</书架>
最新文章
- html5基础知识点
- 【Mail】JavaMail介绍及发送邮件(一)
- Cocos2d-x3.3RC0 Cpp-test分析之NewAudioEngineDemo(转:http://blog.csdn.net/yuxikuo_1/article/details/41081453)
- phpstorm
- 标准库 - fmt/scan.go 解读
- linux源代码阅读笔记 linux文件系统(二)
- UVA - 1614 Hell on the Market(贪心)
- 修改session的存储机制
- 学习Swift写iOS?那写安卓和WinPhone呢?请看一石三鸟终极解决方案 - Silver!
- 《物联网框架ServerSuperIO教程》-20.网络通讯控制器分组,提高交互的负载平衡能力。v3.6.6 版本发布
- SVN客户端安装与使用
- 简单的SQL注入
- 解决GJson 获取web api数据出现Not a JsonObject问题
- 潜在风险的频次vs潜在风险的严重影响的程度(以及恢复)
- HDFS的一些配置文件修改
- 11-8 定时器this
- What is Zeebe?
- wordpress添加面包屑
- 我不是学Java的!我不是学Java的!我不是学Java的!。。。。【自我催眠中】
- Zookeeper(三) Zookeeper原理与应用
热门文章
- js-其他
- 深圳浩瀚技术有限公司(haohantech)推出的无线移动批发管理PDA解决方案------无线移动POS销售开单系统
- [POJ1015]Jury Compromise
- Ue4中的框选函数
- java 多线程操作List,已经做了同步synchronized,还会有ConcurrentModificationException,知道为什么吗?
- [转]使用 HTML5 IndexedDB API
- [转]JavaScript跨域总结与解决办法
- ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 G. Garden Gathering
- Storm命令详解
- Node.js 手册查询-5-Ejs 方法