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>
</书>
</书架>

最新文章

  1. html5基础知识点
  2. 【Mail】JavaMail介绍及发送邮件(一)
  3. Cocos2d-x3.3RC0 Cpp-test分析之NewAudioEngineDemo(转:http://blog.csdn.net/yuxikuo_1/article/details/41081453)
  4. phpstorm
  5. 标准库 - fmt/scan.go 解读
  6. linux源代码阅读笔记 linux文件系统(二)
  7. UVA - 1614 Hell on the Market(贪心)
  8. 修改session的存储机制
  9. 学习Swift写iOS?那写安卓和WinPhone呢?请看一石三鸟终极解决方案 - Silver!
  10. 《物联网框架ServerSuperIO教程》-20.网络通讯控制器分组,提高交互的负载平衡能力。v3.6.6 版本发布
  11. SVN客户端安装与使用
  12. 简单的SQL注入
  13. 解决GJson 获取web api数据出现Not a JsonObject问题
  14. 潜在风险的频次vs潜在风险的严重影响的程度(以及恢复)
  15. HDFS的一些配置文件修改
  16. 11-8 定时器this
  17. What is Zeebe?
  18. wordpress添加面包屑
  19. 我不是学Java的!我不是学Java的!我不是学Java的!。。。。【自我催眠中】
  20. Zookeeper(三) Zookeeper原理与应用

热门文章

  1. js-其他
  2. 深圳浩瀚技术有限公司(haohantech)推出的无线移动批发管理PDA解决方案------无线移动POS销售开单系统
  3. [POJ1015]Jury Compromise
  4. Ue4中的框选函数
  5. java 多线程操作List,已经做了同步synchronized,还会有ConcurrentModificationException,知道为什么吗?
  6. [转]使用 HTML5 IndexedDB API
  7. [转]JavaScript跨域总结与解决办法
  8. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 G. Garden Gathering
  9. Storm命令详解
  10. Node.js 手册查询-5-Ejs 方法