dom4j解析
一、利用dom4j操作元素节点
1.查询第一本书的书名,并输出到控制台
2.给第一本书添加一个特价节点, 并修改第一本书的售价节点的内容为19.8元
3.删除第二本书的作者节点
二、利用dom4j操作属性节点
1.给第一本书添加一个属性,如:出版社="清华大学出版社"
2.在控制台上打印输出第一本书的出版社属性的值, 并更新属性的值为“人民出版社”
3.删除第一本书的出版社属性
-------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<书架>
<书>
<书名>数据结构</书名>
<作者>严蔚敏</作者>
<售价>29.00元</售价>
</书>
<书>
<书名>高等数学</书名>
<作者>同济大学数学系</作者>
<售价>55.00元</售价>
</书>
</书架>
-------------------------------------------

代码实现如下:

import java.io.FileWriter;
import java.util.Iterator;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class DomTest {
/*
* 一、利用dom4j操作元素节点
1.查询第一本书的书名,并输出到控制台
2.给第一本书添加一个特价节点, 并修改第一本书的售价节点的内容为19.8元
3.删除第二本书的作者节点
二、利用dom4j操作属性节点
1.给第一本书添加一个属性,如:出版社="清华大学出版社"
2.在控制台上打印输出第一本书的出版社属性的值, 并更新属性的值为“人民出版社”
3.删除第一本书的出版社属性
*/
@SuppressWarnings("deprecation")
public static void main(String[] args) throws Exception {
//创建一个输入流,使xml文件成为一个document,先建立一个对象reader,然后
//用这个对象去调用方法
SAXReader reader = new SAXReader();

//读取xml文件
Document doc = reader.read("src/1.xml");
//查询第一本书的名字,并输出到控制台
//先获取根目录
Element root =doc.getRootElement();
//迭代获取下面的元素(子目录)
Iterator it1 = root.elementIterator("书");
//获取二级子目录
Element e1 = (Element) it1.next();
Iterator it2 = e1.elementIterator("书名");
Element e2 = (Element) it2.next();
System.out.println(e2.getName() "---" e2.getText());
//以上内容完成了查的工作
//2.给第一本书添加一个特价节点, 并修改第一本书的售价节点的内容为19.8元
//创建一个书下面的新的节点为“特价”
Element e3 = e1.addElement("特价");
Iterator it4 = e1.elementIterator("售价");
Element e6 =(Element) it4.next();
e6.setText("19.8元");

//3.删除第二本书的作者节点
Element e4 = (Element) it1.next();
Iterator it3 = e4.elementIterator("作者");
Element e5 = (Element) it3.next();
boolean b = e4.remove(e5);
System.out.println(b);

//给第一本书添加一个属性,如:出版社="清华大学出版社"
//设置后返回的是该元素,也就是e7和e1是同一个
Element e7 = e1.addAttribute("出版社", "清华大学出版社");
//在控制台上打印输出第一本书的出版社属性的值, 并更新属性的值为“人民出版社”
Attribute a = e1.attribute("出版社");
System.out.println(a.getValue());
a.setValue("人民 出版社");
System.out.println(a.getValue());
//删除第一本书的出版社属性
e1.remove(a);

OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("GBK");
XMLWriter writer = new XMLWriter(new FileWriter("src/2.xml"),format);
writer.write(doc);
writer.close();
}

}

更多专业前端知识,请上 【猿2048】www.mk2048.com

XML文档的简易增删查改相关推荐

  1. java jdom进行xml的增删改差_java使用DOM对XML文档进行增删改查操作实例代码

    本文研究的主要是java使用DOM对XML文档进行增删改查操作的相关代码,具体实例如下所示. 源代码: package com.zc.homeWork18; import java.io.File; ...

  2. java使用org.w3c.dom解析XML文档,创建、增删查改,保存,读取,遍历元素等操作

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用org.w3c.dom(java dom)解析XML文档,创建.增删查改,保存,读取,遍历元素等操作 在保存文件时需要载入crimso ...

  3. xml02 XML编程(CRUD)增删查改

    XML解析技术概述 Demo2.java import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuil ...

  4. java解析xml文件:创建、读取、遍历、增删查改、保存

    全栈工程师开发手册 (作者:栾鹏) java教程全解 java使用JDOM接口解析xml文件,包含创建.增删查改.保存,读取等操作. 需要引入jdom.jar,下载 xercesImpl.jar,下载 ...

  5. 分别使用dom和dom4j解析XML文档

    1.dom和dom4j的特点 dom是基于XML的树结构来完成解析的.dom解析XML文档时,会根据读取的文档,构建一个驻留内存的树结构,然后就可以使用dom接口来对XML文档进行增删查改等操作.do ...

  6. 8天学通MongoDB——第二天 细说增删查改

    2019独角兽企业重金招聘Python工程师标准>>> 看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongod ...

  7. 使用JAXP对XML文档进行DOM解析

    一.XML解析方式分为两种:dom和sax dom:(Document Object Model,即文档对象模型)是W3C组织推荐的解析XML的一种方式. sax:(Simple API for XM ...

  8. java调用js查询mongo_MongoDB增删查改操作示例【基于JavaScript Shell】

    本文实例讲述了MongoDB增删查改操作.分享给大家供大家参考,具体如下: MongoDB自带了一个JavaScript Shell,所以在其中使用js语法是可以的. Insert操作: 单条插入 v ...

  9. MongoDB数据库(二):增删查改

    MongoDB数据库的增删查改 1.插入数据 语法: db.集合名称.insert(document) db.table_name.insert({name:'gj',gender:1}) db.ta ...

最新文章

  1. 听说你想去大厂看学妹,带你看看字节跳动后端开发面试长啥样?
  2. 编写java实用工具-针对未压缩的pdf转word,(java实现),压缩过的pdf勿进
  3. Martin Fowler:数字化时代,远程与本地协同工作孰优孰劣?| IDCF
  4. 【HDU - 5878】I Count Two Three(打表)
  5. SkyEye卫星篇:从无到有的国之“芯”
  6. syslog-ng配置说明
  7. python里split_python中使用split()实现嵌套列表理解
  8. 亲测,终于知道为什么这本 Python 书销量超过13W+!
  9. 力扣题目——637. 二叉树的层平均值
  10. Server的Transfer和Response的Redirect
  11. cmd 无法查看 台式机ip地址
  12. Ubuntu20.04Server双网卡问题
  13. XXL-Job Docker部署
  14. 航班动态查询接口 支持最新航班查询
  15. Python绘制小红花
  16. 山东双软认证需要什么条件
  17. curl命令详解 (实例使用方法)
  18. mysql locate不走索引_面试--mysql的模糊查询优化、like、locate、position、instr、find_in_set...
  19. 阿里云ACP云计算备考经验
  20. 什么是网关?使用网关有什么好处

热门文章

  1. OFFICE2019精简安装D盘(包括Word、PPT、Excel,可根据需要调整)+VISIO2019+Mathtype7.4.0完美下载安装教程
  2. 计算机组成原理,计算机系统概论,计算机基本组成
  3. java bom json,JSON字符串带BOM头ufeff
  4. 海思芯片怎么使用tde给qt加速_3519移植Qt适配附件
  5. xss 全编码两次_XSS进阶
  6. k8s停止服务_使用 K8S 几年后,这些技术专家有话要说
  7. js循环获取table中的值
  8. 刷新本地的DNS缓存数据
  9. 在 Yii框架中使用session 的笔记:
  10. UVa OJ 128 - Software CRC (软件CRC)