dom4j解析——增删改查元素、属性
来源:互联网 发布:java单例模式程序 编辑:程序博客网 时间:2024/05/27 14:14
一:dom4j查找元素
package com.ithhedu.dom4j;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class dom4jDemo {
/**
* @version:1.0
* @author zaza
* @since 2015/11/2
*/
public static void main(String[] args) throws Exception {
//1、获取解析器
SAXReader reader = new SAXReader();
//2、解析xml ,获取代表整个文档的dom对象
Document dom = reader.read("1.xml");
//3、获取根节点
Element root = dom.getRootElement();
//4、获取元素进行打印
String Name = root.element("书").element("书名").getText();
System.out.println(Name);
}
}
二、添加成员:
public void add() throws DocumentException, IOException{
SAXReader read = new SAXReader();
Document doc = read.read("1.xml");
Element ele = doc.getRootElement();
//凭空创建<特价>节点,设置标签体
Element price = DocumentHelper.createElement("特价");
price.setText("20.0");
//获取父标签<书> 将特价节点挂载上去
Element book = ele.element("书");
book.add(price);
//将内存中的dom树写到xml文件中从而使xml中的数据进行更新
XMLWriter write = new XMLWriter(new FileOutputStream("1.xml"),OutputFormat.createPrettyPrint());
write.write(doc);
write.close();
}
三、修改元素
1、解析xml
2、拿标签、改标签
@Test
public void exchange() throws Exception{
//获取解析器
SAXReader read = new SAXReader();
//解析xml文件
Document dom = read.read("1.xml");
//获取xml文件下的根节点
Element root = dom.getRootElement();
//在根节点下面修改价格
root.element("书").element("怎么学习java").setText("傻逼是怎么炼成的");
XMLWriter writer = new XMLWriter(new FileOutputStream("1.xml"),OutputFormat.createPrettyPrint());
//写入数据到dom文件中
writer.write(dom);
}
四、删除子元素
原理:找”父亲“,杀(删)”儿子“
过程:
第一:拿 ”书“元素
第二:拿 ”特价“
第三:利用删除的方法删掉
@Test
public void delete() throws Exception{
//获取解析器
SAXReader read = new SAXReader();
//解析xml文件
Document doc = read.read("1.xml");
//获取根节点
Element root = doc.getRootElement();
//通过父亲节点获取子节点
Element price = root.element("书").element("售价");
//删掉子节点
price.getParent().remove(price);
//重新写入xml文件
XMLWriter writer = new XMLWriter(new FileOutputStream("1.xml"),OutputFormat.createPrettyPrint());
writer.write(doc);
writer.close();
}
结果:
<书架>
<书>
<怎么学习java>傻逼是怎么炼成的</怎么学习java>
<作者>Demo</作者>
<特价>20.0</特价>
<特价>20.0</特价>
</书> 0 0
- dom4j解析——增删改查元素、属性
- dom4j解析xml增删改查
- dom4j解析XML之【增删改查】
- dom4j解析xml文档(增删查改)
- DOM4j 解析xml文档,完成增删改查
- 使用dom4j解析xml与增删改查
- dom4j中增删改查
- java dom4j 增删改查
- XML解析之 对元素属性,节点,的增删改查
- JavaWeb_01_Dom4j操作节点元素和属性的增删改查
- DOM4J的使用(DOM4J对XML的解析即增删改查)
- MySQL—增删改查
- MongoDB—增删查改
- String—增删查改
- Dom4j的增删改查简单使用
- dom4j实现增删改查功能
- Dom4j 对XML增删改查
- Dom4j的增删改查应用实例
- 第十周--项目3用二叉树遍历思想解决问题(1)(2)
- 【.Net码农】jquery ajax 向后台传递数组参数示例
- php 连接access、sqlserver
- javascript判断浏览器
- 跨语言通信方案的比较—Thrift、Protobuf和Avro
- dom4j解析——增删改查元素、属性
- 彻底解决RatingBar图片拉伸
- java源码分析之LinkedList
- MFC文本和字体
- 第十周项目1-二叉树算法库
- Java语言基础之接口
- 编程学习小笔记
- 第十周项目(3):利用二叉树遍历思想解决问题(1)计算二叉树的节点个数
- 8.11.2 Table Locking Issues 表锁执行