xml是一种常用的标记语言,可以用来传输数据,它的作用与json类似。不过当下web开发中前后台数据加护基本都使用json,但是在maven、spring的配置文件等方面,xml仍有广泛的使用。比如,saml协议中的数据表示就使用xml,当我们通过saml协议实现单点登录时,往往需要解析xml。以下是4种解析xml的方式:

DOM

即org.w3c.dom。操作xml会比较简单,就是将xml看作一颗树,用DOM描述这颗树的数据结构。但dom方式对大型xml文件效果可能会不理想。DOM和下面的SAX是java官方为我们提供的方法,不需要从外部导包。

SAX

SAX的全称是simple APIS for xml,即xml简单应用程序接口。它位于java官方提供的javax.xml包下。

jdom

jdom是一个java语言读写xml文档的类库。jdom同时与SAX与DOM标准兼容,为Java程序员提供了一个简单、轻量的xml文档操作方法。由于jdom是专为java程序员开发的,所以采用了许多Java语言的优秀特性,比如方法重载、集合和类反射。

Dom4j

dom4j最初是jdom的一种分支,用来读写xml文件。dom4j是一个非常优秀的java xml API,它是开源的,具有性能优异、功能强大和易上手的特点。它也提供了许多超出基本xml文档表示的功能,包括集成的XPath支持、xml schema支持以及用于大文档或流化文档的基于事件的处理。如今你可以看到越来越多的java软件都在使用dom4j来读写xml,比如Sun的jaxm就使用dom4j。
根据我在网上简单的搜索调查,我觉得dom4j是当下java领域最流行的解析xml文件的方式。如果你想掌握一种解析xml的方式,那就选dom4j吧。

java解析xml的4种方式相关推荐

  1. java解析xml的几种方式

    java解析xml的几种方式 博客分类: java基础备忘-好记性不然烂笔头 XMLJava应用服务器数据结构编程  第一种:DOM. DOM的全称是Document Object Model,也即文 ...

  2. Java解析Xml的三种方式总结

    转自:http://blog.csdn.net/zjf280441589/article/details/50613881 XML解析技术有两种 DOM SAX DOM方式  根据XML的层级结构在内 ...

  3. JAVA解析xml的五种方式比较

    1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取和操作文档的任意部分,是W3C的官方标准[优点]①允许应用 ...

  4. java解析xml文件四种方式介绍、性能比较和基本使用方法

    2019独角兽企业重金招聘Python工程师标准>>> 一.基本介绍: 1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准. ...

  5. 详解Java解析XML的四种方法

    http://developer.51cto.com  2009-03-31 13:12  cnlw1985  javaeye  我要评论(8) XML现在已经成为一种通用的数据交换格式,平台的无关性 ...

  6. java解析xml的三种方法

    java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax;import org.xml.sax.Attributes; import org.xml.sax.SAXEx ...

  7. java映射文件是哪一种xml_java解析xml的几种方式哪种最好?

    满意答案 gjek59ug 2013.10.10 采纳率:52%    等级:12 已帮助:9223人 (1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组 ...

  8. 详解Java解析XML的四种方法(转载)

    原文地址:http://developer.51cto.com/art/200903/117512.htm XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成 ...

  9. java 的xml_详解Java解析XML的四种方法

    XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便.对于XML本身的语法知识与技术细节,需要阅读相关的技术文献,这里面包括的内容有DOM ...

最新文章

  1. JDBC与数据库连接工具对比分析
  2. 中国人口将迎来负增长,这是旷视们的机会
  3. oracle dbms refresh,oracle 10g中dbms_mview.refresh()函数
  4. 心灵战争服务器维护,心灵战争服务器异常产生哪些问题如何解决_心灵战争服务器异常产生问题及解决方法_玩游戏网...
  5. 那些年一起学习的PHP(三)
  6. LeetCode SQL 196. 删除重复的电子邮箱
  7. 跟我一起学.NetCore之WebApi接口裸奔有风险(Jwt)
  8. 生信分析和统计绘图资源推荐!
  9. 水土不服?谈一谈机器学习在金融风控实践经验
  10. c# winform窗体边框风格的设计
  11. KafKa基本入门教程
  12. 2020-08-22 OpenWRT 脚本修改网卡MAC
  13. 论Spring开发框架
  14. windows10系统下设置mtu值的方法
  15. 如何将视频旋转180度播放
  16. linux根据关键字查询日志的方法
  17. Baklib知识库-企业知识库管理平台
  18. Android 截取指定号码的短信 并且不让系统获取短信通知用户
  19. 【微信小程序】shiro安全登录界面实现
  20. 麦克风阵列声音定位简介【转】

热门文章

  1. 数据库优化专题---4、读多写少和读多写多
  2. SDH与MDH参数法对比
  3. linux 进程管理命令详解
  4. java substring 异常_String.subString引发的StringIndexOutOfBoundsException
  5. oracle Data guard
  6. 【Python学习过程】关于入门Python初期接触到的函数
  7. 批处理中使用变量嵌套/命令嵌套实现随机密码
  8. win server2012远程桌面允许多用户同时登录配置
  9. 阿里云 获取免费ssl证书 及nginx访问
  10. 【软件设计】深入理解软件的需求