Java解析XML介绍
XML解析器提供了访问或修改用来表示数据的xml文件的能力。Java中提供了多种方式来解析xml文件。
主要分为两类,包括解析XML文档,XML转换成对象;
一、解析XML文档
DOM
DOM解析是将xml整个读入内存中,并在内存中以DOM树的形式存储。它是与平台无关的官方解析方式,所以不止在Java平台可以用DOM解析,在其他的平台也可以使用。
优点:
树形结构,直观,易于理解,读取方便,代码易编写。
树形结构保存在内存中,容易修改。
缺点:
因为DOM是将xml文件整个读入内存中,所以对内存消耗大,在xml文件较大时,很容易造成内存溢出的情况。
SAX
SAX解析是Java独有的xml文件解析方式,是基于事件驱动的,每当Java程序读到xml文件中的标签头或读到标签结尾时,会触发相应的事件进行业务的处理。
优点:
基于事件驱动,对内存消耗小。
适用于只需要处理xml文件中的数据的情况。
缺点:
因为是基于事件驱动的,所以需要针对每一种事件都要编写相应的处理方法,编码比较繁琐。
因为SAX并不是一次性把xml读入内存中而是依次读入xml的数据的,所以不能同时操作同一个xml文件中的多个不同的数据。
JDOM
DOM和SAX是Java提供的两种基础的解析xml的方式,而JDOM是在基础方法上的扩展,要使用JDOM解析xml文件,需要额外导入jar包。
优点:
仅使用具体类而不是用接口。
JDOM的API大量使用了Collections类,操作更加方便。
DOM4J
DOM4J和JDOM一样,是在Java提供的基础解析xml方式上的扩展,要使用DOM4J也需要导入额外的jar包。
优点:
功能强大,能够处理更加复杂的xml文档,包含一些超出基本xml文档的功能。
性能优异,对处理较大的xml文件尤为明显。
二、XML与Java对象的转化
Digester - xml和Java对象之间进行转换。
JAXB - xml和Java对象之间进行转换。
XStream - 一个在xml和Java对象之间进行转换的库
解析XML文档:
(四种方式)http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/17/3082949.html
http://www.cnblogs.com/java-class/p/6901910.html
XML转换成Java对象:
https://leokongwq.github.io/2017/02/18/java-xml-parser.html
Java解析XML介绍的更多相关文章
- Java 解析 XML
Java 解析 XML 标签: Java基础 XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本等元素都封装成树的节点对象 优点 ...
- JAVA解析XML的四种方式
java解析xml文件四种方式 1.介绍 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这 ...
- Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)
[目录] 一.[基础知识——扫盲] 二.[DOM.SAX.JDOM.DOM4j简单使用介绍] 三.[性能测试] 四.[对比] 五.[小插曲XPath] 六.[补充] 关键字:Java解析xml.解析x ...
- Java解析XML文档(简单实例)——dom解析xml
一.前言 用Java解析XML文档,最常用的有两种方法:使用基于事件的XML简单API(Simple API for XML)称为SAX和基于树和节点的文档对象模型(Document Object ...
- 【Java】详解Java解析XML的四种方法
XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法. AD: XML现在已经成为一种通用的数据交换格式,它的平台无关性,语 ...
- Java解析XML之Dom4j
Java解析XML文件的方法有多种,个人感觉最常用的是使用Dom4j来解析XML文件.下面就简单介绍下Dom4j的基础使用. Dom4j需要jar包的支持,大家可以从网络上下载,如dom4j-1.6. ...
- XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax
本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...
- Java解析XML的四种方法详解 - 转载
XML现在已经成为一种通用的数据交换格式,平台的无关性使得很多场合都需要用到XML.本文将详细介绍用Java解析XML的四种方法 在做一般的XML数据交换过程中,我更乐意传递XML字符串,而不是格式化 ...
- java解析xml汇总
[目录] 一.[基础知识——扫盲] 二.[DOM.SAX.JDOM.DOM4j简单使用介绍] 三.[性能测试] 四.[对比] 五.[小插曲XPath] 六.[补充] 关键字:Java解析xml.解析x ...
随机推荐
- 一篇文章带你了解JavaScript中的语法,数据类型,流程控制语句以及函数
作者 | Jeskson 来源 | 达达前端小酒馆 1 JavaScript有多重要啊,才能让我说说一下,其中的语法,操作符,数据类型,内置功能等. 语法: 在JavaScript中的变量,函数名和操 ...
- 重塑云上的 Java 语言
音乐无国界,但是音乐人有国界. 云原生亦如此.虽没有限定的编程语言,但应用所使用的编程语言已经决定了应用部署运行的行为. Java 诞生于20年前,拥有大量优秀的企业级框架,践行 OOP 理念,更多体 ...
- MCU2FPGA之SPI时序总线
转载自:http://blog.csdn.net/ce123/article/details/6895408 SPI总线有四种工作方式(SP0, SP1, SP2, SP3),其中使用的最为广泛的是S ...
- 黑客代码HTML
Crash firefox, chrome, safari browsers, and also restart iPhone using this javascript code. #dos #0d ...
- luogu P1428 小鱼比可爱 x
P1428 小鱼比可爱 题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度.参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示 ...
- 设计模式学习笔记——Adapter 适配器模式
适配器设计模式的适应场景: 一般情况是上端固定,下端固定,下端功能不满足或跟上端不协调,使用适配器重新包一层(继承适配器接口,以满足上端需求,继承下层类,以调用方法),使下端代码能满足上端需求(欺骗, ...
- [CSP-S模拟测试]:连连看(图论+容斥)
题目传送门(内部题74) 输入格式 输入文件$link.in$ 第一行三个整数$n,m,k$,之间用空格隔开,$n,m$表示地图行数和列数,$k$表示每个方块周围相邻的位置(至多有$4$个,至少有$2 ...
- WPF 实现多语言支持
WPF 多语言有各种实现方式.如 https://www.codeproject.com/Articles/35159/WPF-Localization-Using-RESX-Files,后来发现这个 ...
- sorted排序为什么不是我想要的结果?
数据源: a=['7465', '7514', '8053', '8267', '8507', '8782', '9091', '9292', '9917', '10000', '10009'] 我以 ...
- 【服务器】一次对Close_Wait 状态故障的排查经历
最近接连听说一台线上服务器总是不响应客户端请求. 登录服务器后查询iis状态,发现应用程序池状态变为已停止. 按经验想,重启后应该就ok,第一次遇到也确实起了作用,当时完全没在意,以为是其他人无意把服 ...