book2.xml

  1. <?
  2.  
  3. xml version="1.0" encoding="UTF-8"?>
  4.  
  5. <书架>
  6. <书>
  7. <书名>JAVA</书名>
  8. <作者>XXXXXX</作者>
  9. <售价>23333</售价>
  10. </书>
  11. <书>
  12. <书名>ANDROID</书名>
  13. <作者>XXXXXX</作者>
  14. <售价>23333</售价>
  15. </书>
  16. </书架>

增删改查方法:

  1. public class dom4j2 {
  2. public static void main(String[] args) throws Exception {
  3. // find();
  4. // add();
  5. // update();
  6. // del();
  7. // attr();
  8. }
  9.  
  10. private static void attr() throws Exception {
  11. SAXReader reader = new SAXReader();
  12. Document document = reader.read("book2.xml");
  13.  
  14. Element rootElement = document.getRootElement();
  15.  
  16. Element bookEle = rootElement.element("书");
  17. bookEle.addAttribute("出版社", "xxxxxx");
  18. // 查询出版社
  19. String publish = bookEle.attributeValue("出版社");
  20.  
  21. System.out.println(publish);
  22.  
  23. // 删除出版社
  24. Attribute attr = bookEle.attribute("出版社");
  25. attr.getParent().remove(attr);
  26.  
  27. XMLWriter writer = new XMLWriter(new FileOutputStream("book2.xml"),
  28. OutputFormat.createPrettyPrint());
  29. writer.write(document);
  30. writer.close();
  31. }
  32.  
  33. private static void del() throws Exception {
  34. SAXReader reader = new SAXReader();
  35. Document document = reader.read("book2.xml");
  36.  
  37. Element rootElement = document.getRootElement();
  38.  
  39. Element price2Ele = rootElement.element("书").element("特价");
  40.  
  41. price2Ele.getParent().remove(price2Ele);
  42.  
  43. XMLWriter writer = new XMLWriter(new FileOutputStream("book2.xml"),
  44. OutputFormat.createPrettyPrint());
  45. writer.write(document);
  46. writer.close();
  47.  
  48. }
  49.  
  50. private static void update() throws Exception {
  51. SAXReader reader = new SAXReader();
  52. Document document = reader.read("book2.xml");
  53.  
  54. Element rootElement = document.getRootElement();
  55. rootElement.element("书").element("特价").setText("50");
  56.  
  57. XMLWriter writer = new XMLWriter(new FileOutputStream("book2.xml"),
  58. OutputFormat.createPrettyPrint());
  59. writer.write(document);
  60. writer.close();
  61. }
  62.  
  63. public static void add() throws Exception {
  64. SAXReader reader = new SAXReader();
  65. Document document = reader.read("book2.xml");
  66.  
  67. Element rootElement = document.getRootElement();
  68.  
  69. // 创建 <特价>结点 设置标签体
  70. Element price2 = DocumentHelper.createElement("特价");
  71. price2.setText("23232");
  72. // 获取父节点 并挂载
  73. Element bookEle1 = rootElement.element("书");
  74. bookEle1.add(price2);
  75.  
  76. // 将内存中的dom树写到xml文件里
  77. // 方法1
  78. // FileWriter fw = new FileWriter("book2.xml");
  79. // document.write(fw);
  80. // fw.flush();
  81. // fw.close();
  82. // 方法2
  83. XMLWriter writer = new XMLWriter(new FileOutputStream("book2.xml"),
  84. OutputFormat.createPrettyPrint());// 格式化xml文件
  85. writer.write(document);
  86. writer.close();
  87. }
  88.  
  89. public static void find() throws Exception {
  90. SAXReader reader = new SAXReader();
  91. Document document = reader.read("book2.xml");
  92.  
  93. Element rootElement = document.getRootElement();
  94.  
  95. List<Element> elements = rootElement.elements();
  96. Element book2Ele = elements.get(1);
  97.  
  98. System.out.println(book2Ele.element("书名").getText());
  99. }
  100. }

XML(五)dom4j增删改查的更多相关文章

  1. java对xml文件做增删改查------摘录

    java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...

  2. 使用dom4j对xml文件进行增删改查

    1.使用dom4j技术对dom_demo.xml进行增删改查 首选要下载dom4j的jar包 在官网上找不到,网上搜索了一下在这个链接:http://sourceforge.net/projects/ ...

  3. mybatis学习(五)——增删改查及自增主键的获取

    一.mybatis的增删改查 1.修改hotelMapper接口 package com.pjf.mybatis.dao; import com.pjf.mybatis.po.Hotel; publi ...

  4. Django REST framework 五种增删改查方法

    Django-DRF-视图的演变   版本一(基于类视图APIView类) views.py: APIView是继承的Django View视图的. 1 from .serializers impor ...

  5. dom4j解析xml文档(增删改查)

    package itcast.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.FileWrite ...

  6. Java使用DOM4J对XML文件进行增删改查操作

    Java进行XML文件操作,代码如下: package com.founder.mrp.util; import java.io.File; import java.util.ArrayList; i ...

  7. dom4j增删改查

    //dom4j添加内容,在第一本书上指定位置添加售价 更改保存所有孩子list集合的顺序 @Test public void add1() throws Exception{ //读 SAXReade ...

  8. 使用xml实现的增删改查功能

    实体类: package vo; public class Contact { private String id; private String name; private String gende ...

  9. Asp.Net 操作XML文件的增删改查 利用GridView

    不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...

随机推荐

  1. nodejs 最受欢迎的orm sequelize

    传送门 # 视频教程 https://nodelover.me/course/sequelize/ # 官方文档 http://docs.sequelizejs.com/manual/tutorial ...

  2. MIUI 们的发展蓝图:“罪恶”秘密背后的金钱和机遇

    (原文来自 AllThingsD)   听起来有点唬人,但是移动变革的确是这个时代最大的一次技术平台升级事件.这场趋势实在太浩大,不断地循环往复,对于创业者(还有像我这样的投资人来说),则意味着令人激 ...

  3. Android:使用 DownloadManager 进行版本更新

    app 以前的版本更新使用的自己写的代码从服务器下载,结果出现了下载完成以后,提示解析包错误的问题,但是呢,找到该 apk 点击安装是可以安装成功的,估计就是最后几秒安装包没有下载完成然后点击了安装出 ...

  4. (原创)C++11改进我们的程序之move和完美转发

    本次要讲的是右值引用相关的几个函数:std::move, std::forward和成员的emplace_back,通过这些函数我们可以避免不必要的拷贝,提高程序性能.move是将对象的状态或者所有权 ...

  5. git命令(10):git 常用操作,撤销修改(2)

    一. 创建与合并分支 1. 从master分支创建dev分支并切换到dev分支: git checkout master git checkout -b dev 其中,git checkout -b ...

  6. 【C/C++】标准IO操作

    fwrite实现文件复制 //@ author 成鹏致远 //@ net http://infodown.tap.cn //@ qq 552158509 //@ blog lcw.cnblogs.co ...

  7. sql语句插入百万测试数据

    开发的过程中,很多时候我们需要插入百万数据来测试功能和性能,今天我来教大家最简单的插入方法 -----------------1.新建表--------------------- CREATE TAB ...

  8. 双重检验的单例模式,为什么要用volatile关键字

    双重检验的单例模式是比较推荐的单例写法,在该代码中的单例对象的是用volatile关键字修饰的.这时就产生的一个疑问,为什么需要volatile来修饰呢?上网查看多个博客,下面简单通俗分析一下当中的原 ...

  9. Win10+VMplayer12中U盘无法挂载解决

    VMplayer 中运行mac osx,想挂载个U盘进去,无奈居然一直挂载不进去,而此时宿主机Win10中的U盘也消失,查看设备管理器居然显示"未知设备" 于是乎一顿度娘,网上的方 ...

  10. mysql性能优化(二)

    key_buffer_size 为了最小化磁盘的 I/O , MyISAM 存储引擎的表使用键高速缓存来缓存索引,这个键高速缓存的大小则通过 key-buffer-size 参数来设置.如果应用系统中 ...