dom4j解析xml格式文件实例
以下给4种常见的xml文件的解析方式的分析对比:
DOM DOM4J JDOM SAX
Dom解析 在内存中创建一个DOM树,该结构通常需要加载整个文档然后才能做工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的,树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改能随机访问文件内容,也可以修改原文件内容.
SAX解析 SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点线性解析,不能随机访问,也无法修改原文件
JDOM解析 JDOM的目的是成为Java特定文档模型,它简化与XML的交互并且比使用DOM实现更快.JDOM仅使用具体类而不使用接口。这在某些方面简化了API,但是也限制了灵活性。第二,API大量使用了Collections类,简化了那些已经熟悉这些类的Java开发者的使用。
DOM4j解析 DOM4J使用接口和抽象基本类方法。DOM4J大量使用了API中的Collections类,但是在许多情况下,它还提供一些替代方法以允许更好的性能或更直接的编码方法。直接好处是,虽然DOM4J付出了更复杂的API的代价,但是它提供了比JDOM大得多的灵活性。
最后相比之下选择了dom4j对其经行解析。
下面是xml文件的一部分:



考虑到上面的复杂因素,从面向对象出发,我定义了以下三个实体类对象:

每个对象的定义都比较简单:ResultSet.class,RowDetail.class,RowMaster.class的定义分别如下:



其中用到的最为关键的技术当然是xpath表达式的书写了,详情请参考:http://www.cnblogs.com/fdszlzl/archive/2009/06/02/1494836.html,下面我就直接给出我的解析代码:

以下是测试查看List<ResultSet> resuList中部分数据的输出:

dom4j解析xml格式文件实例的更多相关文章
- dom4解析xml格式文件实例
		以下给4种常见的xml文件的解析方式的分析对比: DOM DOM4J JDOM SAX 解析XML文件的几种方式和区别答: Dom解析 在内存中创建一个DOM树,该结构通常需要加载整个文档然后才能做工 ... 
- Dom4j解析xml格式的字符串【java】
		一般我们会使用dom4j.SAX.w3c来解析xml文件,网上也大多提供此类解决方案. 但在实际项目中,也有会解析xml格式的字符串报文的. 比如,有如下字符串: String = "< ... 
- WP8解析XML格式文件
		DOTA2 WebAPI请求返回的格式有两种,一种是XML,一种是JSON,默认是返回JSON格式,如果要返回XML格式的话,需要在加上format=xml. 这里举一个简单的解析XML格式的例子(更 ... 
- java中采用dom4j解析xml文件
		一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ... 
- 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】
		一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ... 
- 使用DOM4J解析XMl文件与读取XML文件
		XML文件 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book id ... 
- Java进阶(二十七)使用Dom4j解析XML文件
		使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ... 
- 用dom4j解析xml文件并执行增删改查操作
		转自:https://www.aliyun.com/jiaocheng/1339446.html xml文件: <?xml version="1.0" encoding=&q ... 
- 【java项目实战】dom4j解析xml文件,连接Oracle数据库
		简单介绍 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方.我们还是看一下官方给出的解释.例如以下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT ... 
随机推荐
- 整合SSM遇到的错误,数据库连接失败问题集合
			Could not get JDBC Connection; nested exception is java.sql.SQLException: Connections could not be a ... 
- hexo命令
			2017-09-12 by chenyan 安装 npm install hexo -g #安装npm update hexo -g #升级hexo init #初始化 简写 hexo n " ... 
- 云服务器之——Linux下配置JDK环境
			在Linux下jdk的安装已经操作了很多次,每次发现自己还是会忘记之前的操作,所以今天就简单的来做个记录. 第一步:下载jdk安装包 登录oracle官网:https://www.oracle.com ... 
- 修改 MyEclipse 编辑区域背景颜色
- myeclipse安装插件svn的步骤
			下载插件地址:http://subclipse.tigris.org/ 方法一:本地安装 1.打开HELP->MyEclipse Configuration或者myeclipse->MyE ... 
- SQL Server 2008R2各个版本,如何查看是否激活,剩余可用日期?
			SELECT create_date AS 'SQL Server Installed Date', Expiry_date AS 'SQL Server Expiry Date', DATEDIFF ... 
- HTTP Continuation or non-HTTP traffic
			发现一个 HTTP Continuation or non-HTTP traffic的数据包,之前没有碰到过.不懂其意义,一看长度,显示1460,与TCP segment of a reas ... 
- QIs for Spread
			玩了好几天,看了好多剧,所以这几天的进度稍微有点慢,另外,<一起同过窗>真香! 延展特性涉及解集覆盖的区域.一个具有良好分布的解集应该包含来自PF每个部分的解集,而不遗漏任何区域.然而,大 ... 
- brup安装证书抓取https
			brup安装证书抓取https 0x00下载 下载安装brup 前提是需要java环境 0X01配置brup 配置brup的代理设置 0X02设置浏览器 我使用的是火狐,以下都以火狐为例 0X03证书 ... 
- leetcode 1365. How Many Numbers Are Smaller Than the Current Number
			Given the array nums, for each nums[i] find out how many numbers in the array are smaller than it. T ... 
