1.DOM4J是目前使用非常广泛的一种解析XML技术,与DOM相比,他的使用更加方便,操作简单!

2.DOM4J是一个易用的,开源的库,可以用于XML、XPath、XSLT等。

3.DOM4J的主要接口都在org.dom4j包里定义。

  • Attribute:定义XML的属性

  • Branch:为能够包含子节点的节点,如XML元素(Element)和文档(Docuements)定义了一个公共的行为
  • CDATA:定义了XML CDATA区域
  • Comment:定义了文档注释的行为

  • Document:定义了XML文档

  • Text:定义了文本节点

4.使用DOM4J读写xml文档,需要下载dom4j.jar包,官网就可以下载 https://dom4j.github.io/ .

5.具体使用dom4j来对xml文档进行增,删,改,查

使用dom4j进行数据的查询:


public class Test01 {public static void main(String[] args) throws Exception {SAXReader saxReader =new SAXReader();Document document= saxReader.read("src/chap06/info.xml");Element  ele=document.getRootElement();    //获取根节点//查询Iterator<Element> it=ele.elementIterator();//获得子节点while(it.hasNext()) {Element brandEle=it.next();String brandattr=brandEle.attributeValue("name");Iterator<Element> typeIt=brandEle.elementIterator();//子节点里面的元素节点while(typeIt.hasNext()) {Element typeEle=typeIt.next();String typeAttr=typeEle.attributeValue("name");System.out.println("品牌:"+brandattr+"型号:"+typeAttr);}}}
}

数据的添加和保存:

public class Test02 {public static void main(String[] args) throws Exception {SAXReader saxReader=new SAXReader();Document doc =saxReader.read("src/chap06/info.xml");Element ele=doc.getRootElement();//添加Element brandEle=ele.addElement("Brand");brandEle.addAttribute("name","小米");brandEle.setText("为发烧而生!");//保存文档OutputFormat format =OutputFormat.createPrettyPrint();//设置格式,缩进format.setEncoding("utf-8");  //指定编码格式
//      OutputFormat format =new OutputFormat();XMLWriter xmlWriter=new XMLWriter(new FileWriter("src/chap06/info.xml"), format);xmlWriter.write(doc);       //将数据写入当xml文档中xmlWriter.close();           //关闭流}
}

数据的修改和保存

public class Test03 {public static void main(String[] args) throws Exception {SAXReader saxReader=new SAXReader();Document doc =saxReader.read("src/chap06/info.xml");Element ele=doc.getRootElement();//修改Iterator<Element> it=ele.elementIterator();while(it.hasNext()) {Element brandEle=it.next();Attribute attr=brandEle.attribute("name");if(attr.getValue().equals("三星")) {attr.setValue("sanxing");}}//保存文档OutputFormat format =OutputFormat.createPrettyPrint();//设置格式,缩进format.setEncoding("utf-8");  //指定编码格式XMLWriter xmlWriter=new XMLWriter(new FileWriter("src/chap06/info.xml"), format);xmlWriter.write(doc);       //将数据写入当xml文档中xmlWriter.close();           //关闭流}
}

数据的删除和保存

public class Test04 {public static void main(String[] args) throws Exception {SAXReader saxReader=new SAXReader();Document doc =saxReader.read("src/chap06/info.xml");Element ele=doc.getRootElement();//删除Iterator<Element> it=ele.elementIterator();while(it.hasNext()) {Element brandEle=it.next();String brandAttr=brandEle.attributeValue("name");if(brandAttr.equals("三星")) {ele.remove(brandEle);}}//保存文档OutputFormat format =OutputFormat.createPrettyPrint();//设置格式,缩进format.setEncoding("utf-8");  //指定编码格式XMLWriter xmlWriter=new XMLWriter(new FileWriter("src/chap06/info.xml"), format);xmlWriter.write(doc);        //将数据写入当xml文档中xmlWriter.close();           //关闭流}
}

java中的DOM4J解析XML相关推荐

  1. java解析xml实例_在java中使用dom解析xml的示例分析

    本篇文章介绍了,在java中使用dom解析xml的示例分析.需要的朋友参考下 dom是个功能强大的解析工具,适用于小文档 为什么这么说呢?因为它会把整篇xml文档装载进内存中,形成一颗文档对象树 总之 ...

  2. JAVA中利用DOM解析XML文档

    JAVA中利用DOM解析XML文档 package org.sws.utils; import java.io.File;import java.io.IOException; import java ...

  3. java高级——使用DOM4J解析xml

    首先我们要导入一个DOM4J的jar包,可以在DOM4J的官网中下载. 导入DOM4J的jar包后,可以创建一个SAXReaderL对象,SAXReader saxReader=new SAXRead ...

  4. Java中DOM4J解析xml文件浅析

      DOM4J解析它是JDOM的一种智能分支.它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持.XML Schema支持以及用于大文档或流化文档的基于事件的处理.它还提供了构建文档表 ...

  5. Java 使用 Dom4j 解析 XML 指南

    Java 使用 Dom4j 解析 XML 指南 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用 ...

  6. DOM4j解析XMl中碰到的问题解决

    引言: DOM4j是java中最为流行的xml解析类库,在使用过程中,碰到了若干问题,这里记录一下,方便后续查询. 1.  DOM的版本以及maven引用 <dependency>< ...

  7. Java - DOM4J解析XML文件

    文章目录 1. XML文档说明 2. XML解析 2.1 常见的解析方式 2.2 DOM4J解析xml 2.3 XPath表达式解析XML 3. 解析XML并封装到类中 4. 参考资料 1. XML文 ...

  8. java dom4j解析xml 对象_Java XML解析 - 利用DOM4j解析XML

    Java XML解析 - 利用DOM4j解析XML dom4j是一个简单的开源库,用于处理XML. XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP ...

  9. java jdom dom4j_Java基础系列17:使用DOM、SAX、JDOM、DOM4J解析XML文件详解

    一 简介 在Java中,可以使用多种方式来解析XML文件,其中最常见的可能就是DOM.SAX.JDOM.DOM4J这四种方式了.其中,DOM和SAX这两种解析XML文件的方式有jdk自带的API,因此 ...

最新文章

  1. 用c#建立webservice
  2. 十五周 苏浪浪 201771010120
  3. OPMS项目管理系--新增加项目报表统计
  4. java B2B2C源码电子商务平台 -SpringCloud配置中心高可用搭建
  5. ubuntu20.04运行《大航海家2》
  6. 如何在Microwindows中显示图片和安装字体
  7. as3调用外部swf里的类的方法
  8. struts2学习笔记之十一:struts2的类型转换器
  9. trie树 mysql_Trie树详解(转)
  10. Recorder︱图像语义分割(FCN、CRF、MRF)、论文延伸(Pixel Objectness、)
  11. Ace Admin 使用教程
  12. python发送邮件群发软件_python使用tkinter写的邮件群发软件-python图形界面编程
  13. 桌面计算机1008桌面计算机,windows桌面精灵
  14. 十八年努力,我才能与你一起喝咖啡(转于《读者》)
  15. 笔记 | 百度飞浆AI达人创造营:深度学习模型训练和关键参数调优详解
  16. 大数据在政府中的应用案例
  17. eplan 电箱布局_EplanD布局步骤
  18. springboot整合jd freemarker
  19. Leetcode笔记(不重复的排列*)
  20. GTX1660Ti加ubuntu18.04安装NVIDIA470显卡驱动安装CUDA11.4加torch 1.8.0

热门文章

  1. HTML5 canvas 游戏设计:创建一个经典的魔塔游戏
  2. 如何在苹果Mac上格式化USB闪存驱动器
  3. 编译原理课后题答案 龙书 机械工业出版社
  4. 滴滴助力2020中国开源年会暨阿帕奇中国路演
  5. nexus7二代刷Linux,Nexus 7 安装Ubuntu for Tablets教程
  6. 喜讯|云畅科技被认定为2022年度湖南省移动互联网重点企业
  7. 500G机械硬盘换成120固态硬盘+500G机械硬盘
  8. 中国数字化手术室行业发展动态及前景战略深度研究报告2021年版
  9. 刚开始学egret开发,第一课 《小鸡过马路》- 绘制npc,绘制玩家控制角色,碰撞检测还不完善,嘿嘿!
  10. TP4056/4057/4054充电不转灯闪FAE技术