需求:
在第一本书作者后面增加描述 好书描述>
思路:获取书下面下的所有节点(一个list集合),在list集合指定位置添加一个元素(list.add(index,object)),最后写入原xml文档。
原来XML文档
Java高级书名>
武陟县作者>
200元价格>
书>
Java中级书名>
打火机作者>
2000元价格>
书>
书架>
-------------------------------------------------------指定位置添加节点-------------------------------------
Java代码:
// 在指定位置添加一个节点
@Test
public void test2() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("src/book.xml"));
Element root = document.getRootElement();
// 获取第一个书节点
Element shu = (Element) root.elements("书").get(0);
// 获取第一个节点下的所有节点
List list = shu.elements(); //[书名,作者,价格]
// 创建一个节点
Element miaoshu = DocumentHelper.createElement("miaoshu");
miaoshu.setText("一本好书");
list.add(2,miaoshu);
// 格式化输出流,同时指定编码格式。也可以在FileOutputStream中指定。
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
XMLWriter writer = new XMLWriter(new FileOutputStream("src/book.xml"),format);
writer.write(document);
writer.close();
}
结果:
Java高级书名>
武陟县作者>
一本好书
200元价格>
书>
Java中级书名>
打火机作者>
2000元价格>
书>
书架>
-----------------------------------------删除节点----------------------------------------------
// 删除节点
@Test
public void delete() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("src/book.xml"));
Element root = document.getRootElement();
// 获取第一个书节点
Element shu = (Element) root.elements("书").get(0);
Element miaoshu = (Element) shu.element("miaoshu");
// 获取到miaoshu节点的父节点并删除miaoshu节点
miaoshu.getParent().remove(miaoshu);
// 格式化输出流,同时指定编码格式。也可以在FileOutputStream中指定。
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
XMLWriter writer = new XMLWriter(new FileOutputStream("src/book.xml"), format);
writer.write(document);
writer.close();
}
结果:
Java高级书名>
武陟县作者>
200元价格>
书>
Java中级书名>
打火机作者>
2000元价格>
书>
书架>
-------------------------------------修改节点-------------------------------------------------
// 修改节点
@Test
public void update() throws Exception {
SAXReader reader = new SAXReader();
Document document = reader.read(new File("src/book.xml"));
Element root = document.getRootElement();
// 获取第一个书节点
Element shu = (Element) root.elements("书").get(0);
Element shuming = (Element) shu.element("书名");
// 获取到miaoshu节点的父节点并删除miaoshu节点
shuming.setText("一本烂书!!");
// 格式化输出流,同时指定编码格式。也可以在FileOutputStream中指定。
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
XMLWriter writer = new XMLWriter(new FileOutputStream("src/book.xml"), format);
writer.write(document);
writer.close();
}
结果:
一本烂书!!书名>
武陟县作者>
200元价格>
书>
Java中级书名>
打火机作者>
2000元价格>
书>
书架>
asp.net 实现对xml文件的 读取,添加,删除,修改
用于修改站内xml文件 已知有一个XML文件(bookstore.xml)如下:<?xml version="1.0" encoding="gb2312" ...
dom4j解析xml中指定元素下内容
需求:XML为例如以下样式,如今我仅仅想取得timer以下的5000和60000. 解决的方法例如以下: <?xml version="1.0" encoding=" ...
ajax中向HTML页面中指定位置添加信息
$.ajax({ type : "POST", beforeSend : function() { showLoader("数据加载中...");// ...
jQuery如何追加tr到table中任意位置--向Table中指定位置添加tr或td(jQuery)
jQuery 添加新内容有以下四个方法: append() - 在被选元素的结尾插入内容 prepend() - 在被选元素的开头插入内容 after() - 在被选元素之后插入内容 before() ...
js数组指定位置添加删除
示例参考:http://www.w3school.com.cn/jsref/jsref_splice.asp
javascript数组在指定位置添加和删除元素
在JavaScript中,Array对象提供了一个强大的splice()方法,利用这个方法可以达到在数组的指定位置添加和删除元素的目的. 指定位置删除元素 要在指定位置删除元素,可以使用splice( ...
Dom4j 操作, 节点查找 添加 删除 修改 。。。xPath
转: Dom4j 操作, 节点查找 添加 删除 修改 ...xPath 2013年11月28日 10:48:59 今晚打酱油8 阅读数:8506更多 个人分类: JavaWeb 版权声明:本文为博 ...
eclipse中基于maven构建的web项目pom.xml中指定的jar包无法发布到tomcat中
eclipse运行maven web项目报错: 信息: Starting Servlet Engine: Apache Tomcat/7.0.57 一月 07, 2015 11:50:44 下午 or ...
python3 替换字符串中指定位置字符
大家都知道字符串在python中是不可变数据类型,那么我们如何替换字符串中指定位置的字符呢? 字符串转换列表替换并转换解决: def replace_char(string,char,index): ...
随机推荐
Session一次错误记录
/// /// 验证登录状态是否已失效 /// /// < ...
struts拦截器实现原理
图1: 上1来源于Struts2官方站点,是Struts 2 的整体结构. 一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请 ...
自己写的SqlHelper
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using ...
驱动里执行应用层代码之KeUserModeCallBack(WOW64是由三个动态库wow64.dll wow64win.dll wow64cpu.dll来实现)
在驱动层(ring0)里执行应用层(ring3)代码,这是个老生常谈的技术,而且方法也挺多. 这种技术的本质:其实就是想方设法在驱动层里把应用层代码弄到应用层去执行. 比如在APC异步调用中,KeIn ...
LInux下安装jdk与环境配置与Webstorm的安装
个人比较喜欢Webstorm这款软件,但是毕设要做的网站打算在Linux下做,所以就想在Linux上装个Webstorm.刚开始下载好后运行提示没有装jdk,然后apt-get install来安装还 ...
FFmpeg示例程序合集-Git批量获取脚本
此前做了一系列有关FFmpeg的示例程序,组成了,其中包含了如下项目:simplest ffmpeg player: 最简单的 ...
C#中DataGridView 对XML文档的使用
窗体就只用添加一个DataGridView控件就可以了.详细解释请参照上一篇中的借鉴曲终人散博客园的文档. XML文档代码如下:test.xml <?xml version="1.0& ...
#161: 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件。 你的任务就是检测矩阵是否符合条件
试题描述 给定n*n由0和1组成的矩阵,如果矩阵的每一行和每一列的1的数量都是偶数,则认为符合条件. 你的任务就是检测矩阵是否符合条件,或者在仅改变一个矩阵元素的情况下能否符合条件. "改变 ...