dom4j增删改查简析

1.获取document对象
    1.1 创建saxreader对象
    SAXReader sr = new SAXReader();
    1.2通过该对象解析xml文件,返回document对象
    Document document = sr.read(filename);
注意:整个过程都只能使用dom4j提供的全套API
2.回写:当我们对XML文件进行了修改或者删除等操作时都要进行回写才能将改变反馈到xml文件中
    2.1因为我们在回写的时候要对文件进行格式化,所以先创建格式化对象
    OutputFormat format = OutputFormat.createPrettyPrint();
    //设定对应的码表
    format.setEncoding("utf-8");
    2.2创建写出工具,传入一个字节输出流对象个和前面的格式化对象
    XMLWriter writer = new XMLWriter(new FileOutputStream(fileUrl), format);
    2.3将制定对象写出
    writer.write(document);
    2.4关流
    writer.close();
3.查找    
    3.1通过document对象获取都根元素对象
    Element root = document.getRootElement();
    3.2获取到根元素下的所有子元素的一个集合
    这里以子元素book为例
    List<Element> books = root.elements("book");
    3.3通过遍历获取到每一个元素
    for (Element book : books) {
        System.out.println(book);
    }
    3.4获取元素的属性值
    String attributeValue = book.attributeValue("category");
    3.5获取元素下子元素的文本值
    String text = book.elementText("author");
4.增加元素
    4.1通过DocumentHelper创建新的子元素
    Element title = DocumentHelper.createElement("title");
    4.2给新创建的元素添加属性值
    title.addAttribute("lang", "en");
    4.3给新创建的元素添加文本值
    title.setText("Learning XML");
    4.4确定要将该新创建的元素添加在那个元素下面,获取到该元素
    //1.得到根元素
    Element root = document.getRootElement();

// 2.获取root的最后一个book元素
    Element book = (Element) root.elements("book").get(2);
    4.5将新创建的元素添加到该元素的下面
    //传入添加位置的索引值和要添加的元素
    book.elements().add(0, title);
    4.6回写,这里我们将回写操作抽取成了一个方法
    Dom4JUtils.documentToXml(document, "WebRoot/bookstore.xml");
5.修改操作
    5.1 修改属性 属性不存在,执行添加,属性存在,执行修改
    book.addAttribute("category", "java");
    5.2 修改文本
    book.element("title").setText("编程思想");
    5.3回写
 6.删除操作
    6.1删除book元素  需要通过父元素来删除子元素
    root.elements().remove(2);
    6.2回写

时间: 2024-12-10 12:24:01

dom4j增删改查简析的相关文章

dom4j增删改查

1 //dom4j添加内容,在第一本书上指定位置添加售价 更改保存所有孩子list集合的顺序 2 @Test 3 public void add1() throws Exception{ 4 //读 5 SAXReader reader = new SAXReader(); 6 Document document = reader.read(new File("src/book.xml")); 7 8 //添加 9 Element book = document.getRootElem

XML(五)dom4j增删改查

book2.xml <?xml version="1.0" encoding="UTF-8"?> <书架> <书> <书名>JAVA</书名> <作者>XXXXXX</作者> <售价>23333</售价> </书> <书> <书名>ANDROID</书名> <作者>XXXXXX</作者>

Dom4J实现XML文件增删改查

1:XML语法规则(只写重要的几点)   XML标签对大小写敏感   XML文档必须有根元素          XML的属性值要加“”          XML中空格会被保留 2:首先呢使用Dom4J必须先使用jar包<dom4j-2.1.1.jar> 3:包导好之后我们开始步入正题,先去创建一个XML文件(info_xml文件名) 4:开始查询XML文件里的节点 5:添加节点 6:修改节点 7:删除节点 关于Dom4J实现XML增删改查文件就到这里了,这也是我第一次发博客,有什么不足我下次发

java使用dom4j操作XML增删改查-超简洁

一.前言 1.使用工具:eclipse    环境:JDK-11 2.类说明:共四个类:Zen   |  Shan  |   Gai   |   Cha   (一个类只做一件事,简单明了) 3.引用jar包:dom4j-1.6.1.jar 4.反馈方式:邮箱 [email protected] 5.使用的源XML名为:Humen.xml  内容如下 二.源码 1.在源XML基础上添加新的 节点.属性.文本内容 /** * 作者:向家康 * 版权所有 禁止转发 */package 正式版.XML.

搭建第一个web项目:实现用户的增删改查

好久没写这个web的代码了,再不写估计以前的也忘记的差不多了,赶紧复习下,顺便把自己的想法慢慢实现了. 最近在公司发现以前的项目有用easyUI搭建的.赶紧copy回来学习下. 感觉写日志真的很有必要,自己总结的肯定要比每次从网上查阅来的靠谱.每次搭建一个基本的web项目都都要查ssh的配置真的很忧伤啊,有木有!!! 把jar包的截图截了一下,要不总是记不清该用到的基本jar有啥. 其中Struts中用到的jar有:commons-fileupload.jar  commons-io.jar  

基于Java的XML文件模拟数据库进行增删改查操作

我们知道XML文件既可以用来进行数据的传输,也可以配合DTD约束文件用来作为配置文件,当然其本质就是一个加了标签以及众多空格保持格式的字符串,那么就可以用Java进行操作. 本例是使用MyEclipse带入DOM4j解析时要用的jar包的基础上做的:当然DOM4j相对于DOM SAX 等解析方式的方便程度是不言而喻的. 下面是本次用例XML文件 <?xml version="1.0" encoding="UTF-8"?> <persons> 

使用DOM进行xml文档的crud(增删改查)操作&amp;lt;操作详解&amp;gt;

很多朋友对DOM有感冒,这里我花了一些时间写了一个小小的教程,这个能看懂,会操作了,我相信基于DOM的其它API(如JDOM,DOM4J等)一般不会有什么问题. 后附java代码,也可以下载(可点击这里入下载)导入到Eclipse或MyEclipse. Node和Element的关系 Element是Node的子接口,所以Element的方法要比Node方法要多,这样的话使用起来比较方便,一般情况我们都把节点转换成元素(或者叫标签,即Element); Element是Node的子类型: 比如我

使用DOM进行xml文档的crud(增删改查)操作&lt;操作详解&gt;

很多朋友对DOM有感冒,这里我花了一些时间写了一个小小的教程,这个能看懂,会操作了,我相信基于DOM的其它API(如JDOM,DOM4J等)一般不会有什么问题. 后附java代码,也可以下载(可点击这里入下载)导入到Eclipse或MyEclipse. Node和Element的关系 Element是Node的子接口,所以Element的方法要比Node方法要多,这样的话使用起来比较方便,一般情况我们都把节点转换成元素(或者叫标签,即Element); Element是Node的子类型: 比如我

java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查

一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = DocumentHelper.parseText(xmlStr); // XML转字符串 Document document = ...; String text = document.asXML(); //这里的XML DOCUMENT为org.dom4j.Document 二.读取XML文档节点: pack