Dom4j 添加 / 更新 / 删除 XML
1、获得文档
/**
*1、获得解析流
*2、解析XML
*/
2、添加
/**
*1、获取父元素
*2、创建元素
*3、创建属性并添加到元素中
*4、元素添加到根节点
*/
3、更新
/**
*1、获取结点
*2、转化为元素
*3、获取子元素
*4、更改
*/
4、删除
/**
*1、获得结点
*2、转换为元素
*3、获得父元素
*4、移除
*/
5、保存
/**
*1、创建输出对象
*2、添加内容对象
*3、关闭输出流
*/
获得文档
//获取文档
private static Document GetDocument() throws DocumentException {
//获得解析流
SAXReader reader=new SAXReader();
//解析xml
Document document=reader.read("books.xml");
return document; }
添加文档
//添加
private static void AddXml(Document document) {
//获取父元素
Element rootElement=document.getRootElement();
//创建元素
Element newElement =DocumentHelper.createElement("book");
//创建属性
Attribute attribute=DocumentHelper.createAttribute(newElement, "id", "b003");
//属性添加到元素中
newElement.add(attribute); //子元素
Element priceElement=DocumentHelper.createElement("price");
priceElement.setText("1234567890");
newElement.add(priceElement); //添加到根元素
rootElement.add(newElement);
}
修改文档
//修改
private static void UpdateXml(Document document) { //获取book结点
Node node= document.selectSingleNode("//book[@id='b001']");
//转换为元素
Element bookelement=(Element) node;
//获取price元素
Element priceElement= bookelement.element("price");
//更改文字
priceElement.setText("12345");
priceElement.setAttributeValue("unit", "$");
}
删除文档元素
//删除元素
private static void DeleteXml(Document document) {
//获得结点
Node node= document.selectSingleNode("//book[@id='b001']");
//转换为元素
Element element=(Element) node;
//获取父元素
Element parentElement=element.getParent();
//移除
parentElement.remove(node);
}
保存文档
//保存
private static void SavaXml(Document document) throws IOException {
//创建文件输出对象
FileWriter fileWriter=new FileWriter("books.dom4j.xml");
XMLWriter writer=new XMLWriter(fileWriter);
//添加内容对象
writer.write(document);
//关闭流
writer.close();
}
Dom4j 添加 / 更新 / 删除 XML的更多相关文章
- DOM 添加 / 更新 / 删除 XML (CURD)
获得Document /** * 获取文档 * 1.获得实例工厂 * 2.获得解析器 * 3.获得document */ 添加结点 /** * 1.获得 ...
- PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆
PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆 什么是cookie 服务器在客户端保存用户的信息,比如登录名,密码等 这些数 ...
- ado.net 批量添加 更新 删除
自曾列就别往下看 别折腾了 使用 SqlBulkCopy ,dataTable 必须跟sql里面的表字段完全一样 下面在sqlserver中演示 mysql 请google MySqlBulkLo ...
- Mysql添加更新删除数据-表
例如 此处拥有一个表名为 uuser 为表添加新数据 ,'); ,'); ,'); 假如只想添加uid和uname ,'小张'); 那么pas自动填充为NULL. 为表更新数据 这里把小王的pas改成 ...
- iOS回顾笔记(09) -- Cell的添加、删除、更新、批量操作
iOS回顾笔记(09) -- Cell的添加.删除.更新.批量操作 项目中经常有对UITableViewCell做各种操作的需求: 添加一个新的cell 删除某行cell 刷新cell上某行数据(如修 ...
- C# 添加,修改,删除Xml节点 摘录
C# 添加,修改,删除Xml节点 //添加xml节点 private void AddXml(string image, string title) { XmlDocume ...
- ArcGIS Engine效率探究——要素的添加和删除、属性的读取和更新
ArcGIS Engine效率探究——要素的添加和删除.属性的读取和更新 来自:http://blog.csdn.net/freewaywalker/article/details/23703863 ...
- Winform中对自定义xml配置文件进行Xml节点的添加与删除
场景 Winform中自定义xml配置文件后对节点进行读取与写入: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10053213 ...
- java使用dom4j和XPath解析XML与.net 操作XML小结
最近研究java的dom4j包,使用 dom4j包来操作了xml 文件 包括三个文件:studentInfo.xml(待解析的xml文件), Dom4jReadExmple.java(解析的主要类), ...
随机推荐
- 用javascript预加载图片、css、js的方法研究
预加载的好处可以让网页更快的呈现给用户,缺点就是可能会增加无用的请求(但图片.css.js这些静态文件可以被缓存),如果用户访问的页面里面的css.js.图片被预加载了,用户打开页面的速度会快很多,提 ...
- phpcms v9版本二次开发四步曲
今晚看了一下PHPCMS V9版本,做一个实例抛砖引玉,其实很简单,以下是二次开发的一个实例以旅游模块为例1. 在phpcms\modules目录下建立一个文件夹tour2. 在phpcms\m ...
- 细说PHP优化那些事
我们在用PHP编程的时候,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少.往往我们在追求这些的同时却失去了很多东西.下面我想讲讲我对PHP优化的理解.优化的目的是花最少的代价换来最快的运行 ...
- Qweb报表中的Reload from Attachment参数
通过继承的方式修改了Qweb报表却发现没有生效,经查,其原因在于报表的设置中勾选了 Reload from Attachment 选项. 将本选项取消选中即可生效.
- 安装centos mini版,无法联网,用yum安装软件提示 cannot find a valid baseurl for repo:base/7/x86_64 的解决方法
*无法联网的明显表现会有: cannot find a valid baseurl for repo:base/7/x86_64 1.yum install出现 Error: cannot find ...
- webserver and application server
http://www.diffen.com/difference/Application_Server_vs_Web_Server http://www.differencebetween.com/d ...
- QT程序制作deb包并安装在应用程序菜单
制作原理:打包:将QT制作的源程序(没有编译的)用debian压缩打包(这里是用脚本对源程序再编译)安装:将deb包中的源程序解压(默认解压到根目录)到规定系统文件中并编译(postinst脚本)卸载 ...
- 用QtWebKit开发简单的浏览器
用QtWebKit开发简单的浏览器 1.代码实现 工程目录结构如下: AddressBar类包含了地址栏和按钮两个控件,将地址栏回车和按钮点击信号与goToSite()槽连接. 当回车和点击事件发生时 ...
- COJ 0358 xjr考考你数据结构(根号3)线段树区间修改
xjr考考你数据结构(根号3) 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 请你编写一个数据结构,完成以下功能: 1)求出第 ...
- js学习之道:js防止表单重复提交
第一种:用flag标识,下面的代码设置checkSubmitFlg标志: <script language="”javascript”"> var checkSubmi ...