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 文件 ...
随机推荐
- keras 类似问题解决:model找不到,或者无法下载
Applications Keras Applications are deep learning models that are made available alongside pre-train ...
- Ehcarts 与 百度地图结合时,如何获取bmap的实例对象?
ehcarts 与 百度地图结合时,百度地图的配置是以bmap属性来设置的.但却不知道如何获取bmap对象的实例? 毫无疑问,是包含在echarts实例中的. 传送门:https://blog.csd ...
- U811.1接口EAI系列之三--采购订单生成--VB语言
采购订单业务,下面是具体代码与参数说明: 下面调用的通用方法在: http://www.cnblogs.com/spring_wang/p/3393147.html 作者:王春天 2013-10-31 ...
- django官方文档--对静态文件的管理
一.入门级理解: 在django中对静态文件的管理和模板(template)的思路是一样的.在模板的管理中django是把app用到 到的模板都保存到app目录下的templates子目录中. 静态文 ...
- 在阿里云容器服务上开发基于Docker的Spring Cloud微服务应用
本文为阿里云容器服务Spring Cloud应用开发系列文章的第一篇. 一.在阿里云容器服务上开发Spring Cloud微服务应用(本文) 二.部署Spring Cloud应用示例 三.服务发现 四 ...
- Axure chrome 扩展显示已损坏的解决方法
下载地址 链接:https://pan.baidu.com/s/11K3t_mvgJg51siO_jNRejg 提取码:goz1 如果链接失效,请留言或站内信提醒我更新 疑问 之前用的好好的Axure ...
- 使用Method swizzling (也就是运行时交换两个方法的imp ,实现重写方法)
贴上资源.很简单 https://gist.github.com/rudyjahchan/2191796 http://itony.me/592.html http://stackoverflow.c ...
- eclipse自动切换到debug视图
原文出自:http://blog.csdn.net/yizhizouxiaqu/article/details/7594502 当弹出"Confir Perspective Switch&q ...
- mui做的苹果app生成ipa后放到自己的网站上让人下载安装
苹果的APP不通过app store的话就只能是要那个$299的企业签名证书了.这个我还不会搞,没有搞过!!! 别人已经帮忙签名好的ipa,自己再传到自己的服务器上让人下载安装,步骤如下: Hbuid ...
- FFmpeg(9)-解码器解码代码演示(FFmpeg调用MediaCodec实现硬解码、多线程解码、及音视频解码性能测试)
一.AVFrame 用来存放解码后的数据. [相关函数] AVFrame *frame = av_frame_alloc(); // 空间分配,分配一个空间 ...