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(解析的主要类), ...
随机推荐
- 统计建模与R软件习题二答案
# 习题2 # 2.1 x=c(1,2,3) y=c(4,5,6) e=c(rep(1,3)) z=2*x+y+e;z x%*%y # 若x,y如答案那样定义为矩阵,则不能用%*%,因为,维数不对应, ...
- DotNET知识点总结四(笔记整合)
1.枚举:本质是类 如果为第一个枚举赋了一个int值,那么后面的枚举项依次递增 可以将枚举强转成他所代表的int值 C#的枚举项都是常量(可以用Reflector查看literal的IL源码) 因为枚 ...
- 热门usb无线网卡
拓实 N910 N95 N82 N81 N89 都是3070的 拓实 N87 G618 是8187的硬功夫 216 310 217 218 300 315 335 350 370 380 510 53 ...
- html标签引入外部html
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Gridview中奇偶数行颜色设置
在gridview中的RowDataBound事件里面写 switch (e.Row.RowType) {case DataControlRowType.Header: e.Row.BackColor ...
- Kcptun 是一个非常简单和快速的,基于KCP 协议的UDP 隧道,它可以将TCP 流转换为KCP+UDP 流
本博客曾经发布了通过 Finalspeed 加速 Shadowsocks 的教程,大家普遍反映能达到一个非常不错的速度.Finalspeed 虽好,就是内存占用稍高,不适合服务器内存本来就小的用户:而 ...
- 利用http实现文件的上传和下载
其他语言都比较方便,使用http上传.但是C++这样就差点,不过还好,Linux下有个curl的命令行工具,这是一个开源项目,底下有个子项目是libcurl,curl就是调用这个API实现的一系列ft ...
- 8.2.1.8 IS NULL Optimization NULL 优化:
8.2.1.8 IS NULL Optimization NULL 优化: Oracle 对待null值: SQL> create table t100(id int,name char(10) ...
- 使用objdump objcopy查看与修改符号表
使用objdump objcopy查看与修改符号表动态库Linuxgccfunction 我们在 Linux 下运行一个程序,有时会无法启动,报缺少某某库.这时需要查看可执行程序或者动态库中的符 ...
- Android新浪微博客户端(一)——主框架搭建
原文出自:方杰| http://fangjie.info/?p=62 转载请注明出处 提前声明的是,我是按照Ivan的这套教程学下来的. 首先,对于任何应用我们都需要建立一套消息处理机制,就是当用户在 ...