网站首页 > 教程分享 正文
首先我们来了解一下什么XML格式。
XML全称为Extensible Markup Language,是一种通用的数据交换格式,具备平台无关性、系统无关性、语言无关性等优点,在数据交互中带来极大地便利。值得一提的是,在不同语言环境中的解析方式都是一样的,只不过实现的语法不同罢了。
XML文件解析的方法有四种,分别为:DOM解析、SAX解析、JDOM解析、DOM4J解析。其中前两种属于基础方法,是官方提供的平台无关的解析方式;后两种属于扩展方法,它们是在基础的方法上扩展出来的,只适用于java平台。因此,在本次内容,我们主要讲解后两种只适合于Java平台的方法。
我们先来准备一份XML格式的数据,如下:
1.JDOM解析
JDOM是一个开源项目,它基于树形结构,利用纯Java的技术对XML文档实现解析、生成、序列化及多种操作。
使用JDOM前,需要先下载JDOM的jar包,并且把它加载在类路径里面:(Properties->Java Build Path -> Add External JARs...)
JDOM解析特点:
仅使用具体类,而不使用接口。
API大量使用了Collections类。
下面我们来实现用JDOM来解析上述的XML数据。
①先建立一个Student类(代码省略),并且初始化list对象,如下
②先做准备工作,建立对象
③进行逐步解析过程(省去了Catch部分代码)
2.DOM4J解析
dom4j是一个简单的开源库,用于处理XML、 XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP。
同样使用它之前,我们需要去下载dom4j.jar包,并放在类路径下。
DOM4J解析特点:
JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能。
它使用接口和抽象基本类方法。
具有性能优异、灵活性好、功能强大和极端易用的特点。
是一个开放源码的文件
同样针对前面的Stud.xml,我们来用代码进行解析。
从代码量上看起来,DOM4J比JDOM要简洁一些。
3.简单总结
DOM4J性能最好,连Sun的JAXM也在用DOM4J。目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文件。如果不考虑可移植性,那就采用DOM4J。
JDOM 在性能测试时表现不佳,在测试 10M 文档时内存溢出。在小文档情况下还值得考虑使用 JDOM。
每天进步一点点,每天消化一点点。如果文章对你有所帮助,点个赞呗。
猜你喜欢
- 2024-09-08 深圳尚学堂:干货来啦!JAVA常用代码(三)
- 2024-09-08 Web前端应该懂的JavaScript、Ajax、jQuery知识点!
- 2024-09-08 72 个网络应用安全实操要点,全方位保护 Web 应用的安全
- 2024-09-08 XSLT 实例(xsl:choose)
- 2024-09-08 JAVA历史版本(java历史版本列表)
- 2024-09-08 Ajax入门教程(非常详细)动力节点ajax教程,讲解全面
- 2024-09-08 如何在J2EE平台开发基于Velocity模板的Web应用
- 2024-09-08 前端 JS 之 AJAX 简介及使用(web前端ajax数据请求)
- 2024-09-08 网站开发必知流程项目开发(网站开发流程图)
- 2024-09-08 有同学问我:Fetch 和 Ajax 有什么区别?
你 发表评论:
欢迎- 最近发表
-
- IT之家学院:使用PIN或密码审批管理员权限
- Yarn 安装的时候提示错误 error:0308010C:digital envelope routines
- Windows常用的一些CMD运行命令(windows常见的命令)
- 电脑忘记开机密码10秒解决(戴尔电脑忘记开机密码10秒解决)
- 如何下载Windows 10聚焦提供的锁屏壁纸
- Windows CMD 命令大全:简单粗暴收藏!
- 系统小技巧:解决CHKDSK只读模式问题
- Windows的cmd都有哪些奇技淫巧?这22个CMD命令记得收藏起来!
- windows错误代码0x80072EE2?win10系统更新错误问题的处理方法
- Windows 10技术预览版快捷键方式汇总
- 标签列表
-
- css导航条 (66)
- sqlinsert (63)
- js提交表单 (60)
- param (62)
- parentelement (65)
- jquery分享 (62)
- check约束 (64)
- curl_init (68)
- sql if语句 (69)
- import (66)
- chmod文件夹 (71)
- clearinterval (71)
- pythonrange (62)
- 数组长度 (61)
- javafx (59)
- 全局消息钩子 (64)
- sort排序 (62)
- jdbc (69)
- php网页源码 (59)
- assert h (69)
- httpclientjar (60)
- postgresql conf (59)
- winform开发 (59)
- mysql数字类型 (71)
- drawimage (61)
本文暂时没有评论,来添加一个吧(●'◡'●)