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的更多相关文章

  1. DOM 添加 / 更新 / 删除 XML (CURD)

    获得Document /**     * 获取文档     * 1.获得实例工厂     * 2.获得解析器     * 3.获得document     */ 添加结点 /**     * 1.获得 ...

  2. PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆

    PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆  什么是cookie 服务器在客户端保存用户的信息,比如登录名,密码等 这些数 ...

  3. ado.net 批量添加 更新 删除

    自曾列就别往下看 别折腾了   使用 SqlBulkCopy ,dataTable 必须跟sql里面的表字段完全一样 下面在sqlserver中演示 mysql 请google MySqlBulkLo ...

  4. Mysql添加更新删除数据-表

    例如 此处拥有一个表名为 uuser 为表添加新数据 ,'); ,'); ,'); 假如只想添加uid和uname ,'小张'); 那么pas自动填充为NULL. 为表更新数据 这里把小王的pas改成 ...

  5. iOS回顾笔记(09) -- Cell的添加、删除、更新、批量操作

    iOS回顾笔记(09) -- Cell的添加.删除.更新.批量操作 项目中经常有对UITableViewCell做各种操作的需求: 添加一个新的cell 删除某行cell 刷新cell上某行数据(如修 ...

  6. C# 添加,修改,删除Xml节点 摘录

    C# 添加,修改,删除Xml节点 //添加xml节点    private void AddXml(string image, string title)     {        XmlDocume ...

  7. ArcGIS Engine效率探究——要素的添加和删除、属性的读取和更新

    ArcGIS Engine效率探究——要素的添加和删除.属性的读取和更新 来自:http://blog.csdn.net/freewaywalker/article/details/23703863 ...

  8. Winform中对自定义xml配置文件进行Xml节点的添加与删除

    场景 Winform中自定义xml配置文件后对节点进行读取与写入: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10053213 ...

  9. java使用dom4j和XPath解析XML与.net 操作XML小结

    最近研究java的dom4j包,使用 dom4j包来操作了xml 文件 包括三个文件:studentInfo.xml(待解析的xml文件), Dom4jReadExmple.java(解析的主要类), ...

随机推荐

  1. 用javascript预加载图片、css、js的方法研究

    预加载的好处可以让网页更快的呈现给用户,缺点就是可能会增加无用的请求(但图片.css.js这些静态文件可以被缓存),如果用户访问的页面里面的css.js.图片被预加载了,用户打开页面的速度会快很多,提 ...

  2. phpcms v9版本二次开发四步曲

    今晚看了一下PHPCMS V9版本,做一个实例抛砖引玉,其实很简单,以下是二次开发的一个实例以旅游模块为例1.   在phpcms\modules目录下建立一个文件夹tour2.  在phpcms\m ...

  3. 细说PHP优化那些事

    我们在用PHP编程的时候,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少.往往我们在追求这些的同时却失去了很多东西.下面我想讲讲我对PHP优化的理解.优化的目的是花最少的代价换来最快的运行 ...

  4. Qweb报表中的Reload from Attachment参数

    通过继承的方式修改了Qweb报表却发现没有生效,经查,其原因在于报表的设置中勾选了 Reload from Attachment 选项. 将本选项取消选中即可生效.

  5. 安装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 ...

  6. webserver and application server

    http://www.diffen.com/difference/Application_Server_vs_Web_Server http://www.differencebetween.com/d ...

  7. QT程序制作deb包并安装在应用程序菜单

    制作原理:打包:将QT制作的源程序(没有编译的)用debian压缩打包(这里是用脚本对源程序再编译)安装:将deb包中的源程序解压(默认解压到根目录)到规定系统文件中并编译(postinst脚本)卸载 ...

  8. 用QtWebKit开发简单的浏览器

    用QtWebKit开发简单的浏览器 1.代码实现 工程目录结构如下: AddressBar类包含了地址栏和按钮两个控件,将地址栏回车和按钮点击信号与goToSite()槽连接. 当回车和点击事件发生时 ...

  9. COJ 0358 xjr考考你数据结构(根号3)线段树区间修改

    xjr考考你数据结构(根号3) 难度级别:C: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 请你编写一个数据结构,完成以下功能: 1)求出第 ...

  10. js学习之道:js防止表单重复提交

    第一种:用flag标识,下面的代码设置checkSubmitFlg标志: <script language="”javascript”"> var checkSubmi ...