文档章节

XML--dom4j解析

H
 HoneyHoney
发布于 2015/06/13 22:34
字数 335
阅读 15
收藏 0
点赞 0
评论 0

将dom4j里面的jar包放到项目中,buildpath一下

    核心类

      1: org.dom4j...SaxReader
      2: org.dom4j...Document

读取xml中的有用的数据:

public class Demo01 {
 @Test
 public void test1() throws Exception{
  //1:声明读取文件的对象
  SAXReader sax = new SAXReader();
  //2:读取文件
  Document dom = sax.read("./files/users.xml");
  //3:获取根元素
  Element root = dom.getRootElement();
  //4:读取里面的节点
  List<Element> users = root.elements();
  for(Element e:users){
   String id = e.attributeValue("id");
   String name = e.element("name").getText();
   String age = e.elementText("age");
   System.err.println(id+","+name+","+age);
  }
 }
}

增加节点:         org.dom4j.XMLWriter - 将内存中的dom保存到文件中去。

 @Test
 public void save() throws Exception{
  SAXReader sax = new SAXReader();
  Document dom = sax.read("./files/users.xml");
  Element root = dom.getRootElement();
  
  //添加子元素
  Element userElement = root.addElement("user");
  userElement.addAttribute("id","U100");
  userElement.addElement("name").setText("马六");
  userElement.addElement("age").setText("34");
  
 //保存
  XMLWriter w = new XMLWriter(new FileOutputStream("./files/users.xml"));
  w.write(dom);
 //  OutputFormat format = OutputFormat.createPrettyPrint();  
 // 利用格式化类对编码进行设置  
 //  format.setEncoding("GBK");  
 // FileOutputStream output = new FileOutputStream(new File(path +  
 //            "books1.xml"));  
 // XMLWriter writer = new XMLWriter(output, format);  
 // writer.write(doc);  
 // writer.flush();  
 // writer.close();  
 }

删除节点:

 @Test
 public void del() throws Exception{
  SAXReader sax = new SAXReader();
  Document dom = sax.read("./files/users.xml");
  Element root = dom.getRootElement();
  
  List<Element> list =  root.elements();
  Element last = list.get(list.size()-1);
  //删除
  last.getParent().remove(last);
  //保存
  XMLWriter w = new XMLWriter(new FileOutputStream("./files/users.xml"));
  w.write(dom);
 }

更改节点: 

@Test
 public void del() throws Exception{
  SAXReader sax = new SAXReader();
  Document dom = sax.read("./files/users.xml");
  Element root = dom.getRootElement();
  
  List<Element> list =  root.elements();
  Element last = list.get(list.size()-1);
  //更改
  //last.getElementsByTagName("name").item(0).setTextContent("王五");
  //last.getElementsByTagName("age").item(0).setTextContent("15");
  //保存
  XMLWriter w = new XMLWriter(new FileOutputStream("./files/users.xml"));
  w.write(dom);
 }





© 著作权归作者所有

共有 人打赏支持
H
粉丝 0
博文 21
码字总数 6313
作品 0
济南
Android 创建与解析XML(五)—— Dom4j方式

1、Dom4j概述 dom4j is an easy to use, open source library for working with XML, XPath and XSLT on the Java platform using the Java Collections Framework and with full support fo......

长平狐 ⋅ 2013/01/06 ⋅ 0

XML生成和解析

1、DOM方式解析XML 给予DOM的解析方式,是把整个XML文档加载到内存,转化成DOM树,可以随机的访问DOM树的任何数据,速度快、比较灵活,但是消耗资源比较多,不适用大的xml文档解析,测试超过...

祁猛 ⋅ 2016/10/19 ⋅ 0

xml 文件解析

众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里 SA...

grushy ⋅ 2014/12/30 ⋅ 0

四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)

众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J 下面首先给出这四种方法的jar包下载地址 DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里 SA...

Henrykin ⋅ 2016/11/03 ⋅ 0

dom4j的使用及常见问题

相信作为一个开发人员应该对XML与JSON 非常熟悉。关于两者的介绍与区别网上已经有很多资料,java对于XML的解析也有很多工具包,主要解析的方式有三种: 1.DOM解析方式:适用于解析小型XML文件...

Half_candy ⋅ 2015/09/20 ⋅ 0

JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较

JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较 1.各种方式的详解 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的 官方W3C标准。DOM是以层次结构组织...

_xiaotudou ⋅ 2014/03/28 ⋅ 0

xml java应用(DOM、SAX、JDOM、DOM4j)简介比较

dom是解析xml的底层接口之一(另一种是sax) 而jdom和dom4j则是基于底层api的更高级封装 dom是通用的,而jdom和dom4j则是面向java语言的 DOM 是用与平台和语言无关的方式表示 XML 文档的官方 ...

liangyx ⋅ 2012/12/20 ⋅ 0

dom4j特殊字符处理

dom4j特殊字符处理 问题: 最近在做项目时,遇到了解析xml问题。 使用dom4j解析xml信息时,如果属性值中包含&等特殊字符时,解析会提示如下异常: java.lang.RuntimeException: 生成Documen...

zlfwmm ⋅ 2016/07/20 ⋅ 0

XML的4中解析速率分析

JUnit是Java提供的一种进行单元测试的自动化工具。测试方法可以写在任意类中的任意位置。使用JUnit可以没有main()入口进行测试。 DOM4J在灵活性和对复杂xml的支持上都要强于DOM DOM4J的应用范...

Favour ⋅ 2016/05/26 ⋅ 0

为什么说 SAX 比 DOM4J 解析 xml 性能低?

目前公认的XML解析器性能最好的是 DOM4J 我的疑问: DOM4J 是基于DOM文档树结构来进行解析的,来解析xml文件之前,会将整个 XML文档装载入内存形成完整的 DOM数结构,然后进行 DOM 节点的读取...

山哥 ⋅ 2012/05/23 ⋅ 7

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql in action / alter table

change character set ALTER SCHEMA `employees` DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci ;ALTER TABLE `employees`.`t2` CHARACTER SET = utf8mb4 , COLLAT......

qwfys ⋅ 今天 ⋅ 0

Java 开发者不容错过的 12 种高效工具

Java 开发者常常都会想办法如何更快地编写 Java 代码,让编程变得更加轻松。目前,市面上涌现出越来越多的高效编程工具。所以,以下总结了一系列工具列表,其中包含了大多数开发人员已经使用...

jason_kiss ⋅ 昨天 ⋅ 0

Linux下php访问远程ms sqlserver

1、安装freetds(略,安装在/opt/local/freetds 下) 2、cd /path/to/php-5.6.36/ 进入PHP源码目录 3、cd ext/mssql进入MSSQL模块源码目录 4、/opt/php/bin/phpize生成编译配置文件 5、 . ./...

wangxuwei ⋅ 昨天 ⋅ 0

如何成为技术专家

文章来源于 -- 时间的朋友 拥有良好的心态。首先要有空杯心态,用欣赏的眼光发现并学习别人的长处,包括但不限于工具的使用,工作方法,解决问题以及规划未来的能力等。向别人学习的同时要注...

长安一梦 ⋅ 昨天 ⋅ 0

Linux vmstat命令实战详解

vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。这个命令是我查看Linux/Unix最喜爱的命令...

刘祖鹏 ⋅ 昨天 ⋅ 0

MySQL

查看表相关命令 - 查看表结构    desc 表名- 查看生成表的SQL    show create table 表名- 查看索引    show index from  表名 使用索引和不使用索引 由于索引是专门用于加...

stars永恒 ⋅ 昨天 ⋅ 0

easyui学习笔记

EasyUI常用控件禁用方法 combobox $("#id").combobox({ disabled: true }); ----- $("#id").combobox({ disabled: false}); validatebox $("#id").attr("readonly", true); ----- $("#id").r......

miaojiangmin ⋅ 昨天 ⋅ 0

金山WPS发布了Linux WPS Office

导读 近日,金山WPS发布了Linux WPS Office中文社区版新版本,支持大部分主流Linux系统,功能更加完善,兼容性、稳定性大幅度提升。本次更新WPS将首次在Linux提供专业办公文件云存储服务,实...

问题终结者 ⋅ 昨天 ⋅ 0

springboot2输出metrics到influxdb

序 本文主要研究一下如何将springboot2的metrics输出到influxdb maven <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo......

go4it ⋅ 昨天 ⋅ 0

微信小程序 - 选择图片显示操作菜单

之前我分享过选择图片这个文章,但是我在实际开发测试使用中发现一个问题在使用 wx.chooseImage 选择照片显示出第一格是拍照,后面是相册里的图片。这种实现之前说过了,效果如下。 但是你从...

hello_hp ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部