XML(五)dom4j增删改查
book2.xml
<? xml version="1.0" encoding="UTF-8"?> <书架>
<书>
<书名>JAVA</书名>
<作者>XXXXXX</作者>
<售价>23333</售价>
</书>
<书>
<书名>ANDROID</书名>
<作者>XXXXXX</作者>
<售价>23333</售价>
</书>
</书架>
增删改查方法:
public class dom4j2 {
	public static void main(String[] args) throws Exception {
		// find();
		// add();
		// update();
		// del();
		// attr();
	}
	private static void attr() throws Exception {
		SAXReader reader = new SAXReader();
		Document document = reader.read("book2.xml");
		Element rootElement = document.getRootElement();
		Element bookEle = rootElement.element("书");
		bookEle.addAttribute("出版社", "xxxxxx");
		// 查询出版社
		String publish = bookEle.attributeValue("出版社");
		System.out.println(publish);
		// 删除出版社
		Attribute attr = bookEle.attribute("出版社");
		attr.getParent().remove(attr);
		XMLWriter writer = new XMLWriter(new FileOutputStream("book2.xml"),
				OutputFormat.createPrettyPrint());
		writer.write(document);
		writer.close();
	}
	private static void del() throws Exception {
		SAXReader reader = new SAXReader();
		Document document = reader.read("book2.xml");
		Element rootElement = document.getRootElement();
		Element price2Ele = rootElement.element("书").element("特价");
		price2Ele.getParent().remove(price2Ele);
		XMLWriter writer = new XMLWriter(new FileOutputStream("book2.xml"),
				OutputFormat.createPrettyPrint());
		writer.write(document);
		writer.close();
	}
	private static void update() throws Exception {
		SAXReader reader = new SAXReader();
		Document document = reader.read("book2.xml");
		Element rootElement = document.getRootElement();
		rootElement.element("书").element("特价").setText("50");
		XMLWriter writer = new XMLWriter(new FileOutputStream("book2.xml"),
				OutputFormat.createPrettyPrint());
		writer.write(document);
		writer.close();
	}
	public static void add() throws Exception {
		SAXReader reader = new SAXReader();
		Document document = reader.read("book2.xml");
		Element rootElement = document.getRootElement();
		// 创建 <特价>结点 设置标签体
		Element price2 = DocumentHelper.createElement("特价");
		price2.setText("23232");
		// 获取父节点 并挂载
		Element bookEle1 = rootElement.element("书");
		bookEle1.add(price2);
		// 将内存中的dom树写到xml文件里
		// 方法1
		// FileWriter fw = new FileWriter("book2.xml");
		// document.write(fw);
		// fw.flush();
		// fw.close();
		// 方法2
		XMLWriter writer = new XMLWriter(new FileOutputStream("book2.xml"),
				OutputFormat.createPrettyPrint());// 格式化xml文件
		writer.write(document);
		writer.close();
	}
	public static void find() throws Exception {
		SAXReader reader = new SAXReader();
		Document document = reader.read("book2.xml");
		Element rootElement = document.getRootElement();
		List<Element> elements = rootElement.elements();
		Element book2Ele = elements.get(1);
		System.out.println(book2Ele.element("书名").getText());
	}
}
XML(五)dom4j增删改查的更多相关文章
- java对xml文件做增删改查------摘录
		
java对xml文件做增删改查 package com.wss; import java.io.File;import java.util.ArrayList;import java.util.Lis ...
 - 使用dom4j对xml文件进行增删改查
		
1.使用dom4j技术对dom_demo.xml进行增删改查 首选要下载dom4j的jar包 在官网上找不到,网上搜索了一下在这个链接:http://sourceforge.net/projects/ ...
 - mybatis学习(五)——增删改查及自增主键的获取
		
一.mybatis的增删改查 1.修改hotelMapper接口 package com.pjf.mybatis.dao; import com.pjf.mybatis.po.Hotel; publi ...
 - Django REST framework 五种增删改查方法
		
Django-DRF-视图的演变 版本一(基于类视图APIView类) views.py: APIView是继承的Django View视图的. 1 from .serializers impor ...
 - dom4j解析xml文档(增删改查)
		
package itcast.dom4j; import java.io.File; import java.io.FileOutputStream; import java.io.FileWrite ...
 - Java使用DOM4J对XML文件进行增删改查操作
		
Java进行XML文件操作,代码如下: package com.founder.mrp.util; import java.io.File; import java.util.ArrayList; i ...
 - dom4j增删改查
		
//dom4j添加内容,在第一本书上指定位置添加售价 更改保存所有孩子list集合的顺序 @Test public void add1() throws Exception{ //读 SAXReade ...
 - 使用xml实现的增删改查功能
		
实体类: package vo; public class Contact { private String id; private String name; private String gende ...
 - Asp.Net 操作XML文件的增删改查 利用GridView
		
不废话,直接上如何利用Asp.NET操作XML文件,并对其属性进行修改,刚开始的时候,是打算使用JS来控制生成XML文件的,但是最后却是无法创建文件,读取文件则没有使用了 index.aspx 文件 ...
 
随机推荐
- [转]Maven - 环境配置
			
Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK. 系统要求 项目 要求 JDK Maven 3.3 要求 JDK 1.7 或以上Maven 3.2 要求 JDK 1.6 ...
 - go包管理工具glide
			
一.命令 安装 $ go get github.com/Masterminds/glide $ go install github.com/Masterminds/glide 初始化项目并在当前项目下 ...
 - django -- while time zone support is active
			
一.先看报错: django 在处理datetime类型的的报错/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site ...
 - Keepalived介绍以及在Linux系统下的安装与配置
			
一.简介 Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层.第4层和第7层交换机的功能.主要提供loadbalancing( ...
 - Android Webview SSL 自签名安全校验解决方案
			
服务器证书校验主要针对 WebView 的安全问题. 在 app 中需要通过 WebView 访问 url,因为服务器采用的自签名证书,而不是 ca 认证,使用 WebView 加载 url 的时候会 ...
 - 防CSRF攻击:一场由重复提交的问题引发的前端后端测试口水战
			
重复提交,这是一直以来都会存在的问题,当在网站某个接口调用缓慢的时候就会有可能引起表单重复提交的问题,不论form提交,还是ajax提交都会有这样的问题,最近在某社交app上看到这么一幕,这个团队没有 ...
 - Atitit it行业图像处理行业软件行业感到到迷茫的三大原因和解决方案
			
Atitit it行业图像处理行业软件行业感到到迷茫的三大原因和解决方案 1. 迷茫的原因最大原因是未知1 1.1. 我在哪里??自己的定位,1 1.2. 正确方向是什么??1 1.3. 虽然找到方向 ...
 - xilinx IP核配置,一步一步验证Xilinx Serdes GTX最高8.0Gbps
			
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u010161493/article/details/77658599 目录(?)[+] 之前 ...
 - 深入理解Linux内核-信号
			
信号:1.最初被引入作为用户态进程间通信2.内核也使用信号通知进程系统所发生的事件3.信号很短,发送给进程的唯一信息通常是一个数.4.名称通常以SIG为前缀5.信号时可消费资源,每个信号只能被传递一次 ...
 - vue-cli项目配置图解
			
配置vue项目机构步骤1.搭建环境:node.npm2.安装vue脚手架工具:npm install -g vue-cli3.初始化项目:vue init webpack vuedemo(“vuede ...