1.DOM生成和解析XML文档

为 XML 文档的已解析版本定义了一组接口。解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构。优点:整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能;缺点:将整个文档调入内存(包括无用的节点),浪费时间和空间;使用场合:一旦解析了文档还需多次访问这些数据;硬件资源充足(内存、CPU)。

2.SAX生成和解析XML文档

为解决DOM的问题,出现了SAX。SAX ,事件驱动。当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。优点:不用事先调入整个文档,占用资源少;SAX解析器代码比DOM解析器代码小,适于Applet,下载。缺点:不是持久的;事件过后,若没保存数据,那么数据就丢了;无状态性;从事件中只能得到文本,但不知该文本属于哪个元素;使用场合:Applet;只需XML文档的少量内容,很少回头访问;机器内存少;

3.DOM4J生成和解析XML文档

DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的 Java 软件都在使用 DOM4J 来读写 XML,特别值得一提的是连 Sun 的 JAXM 也在用 DOM4J。

4.JDOM生成和解析XML

为减少DOM、SAX的编码量,出现了JDOM;优点:20-80原则,极大减少了代码量。使用场合:要实现的功能简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用)、DOM、Xanan文档。

java 解析xml的方式相关推荐

  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文件的几种方式(DOM解析)

    好久不用的东西,今天居然被面试官问到了.那既然这样,我们就一起回顾下java解析xml文件的几种方式吧. DOM解析 dom解析所需依赖是我们jdk自带的,所以只需要使用jdk为我们提供的接口即可上手 ...

  4. java解析xml的4种方式

    xml是一种常用的标记语言,可以用来传输数据,它的作用与json类似.不过当下web开发中前后台数据加护基本都使用json,但是在maven.spring的配置文件等方面,xml仍有广泛的使用.比如, ...

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

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

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

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

  7. xml教程之java解析xml文档

    1.java解析xml文件介绍 XML解析方式分为两种:DOM方式和SAX方式 DOM:Document Object Model,文档对象模型.这种方式是W3C推荐的处理XML的一种方式. SAX: ...

  8. Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)

    http://blog.csdn.net/smcwwh/article/details/7183869 关键字:Java解析xml.解析xml四种方法.DOM.SAX.JDOM.DOM4j.XPath ...

  9. Java 解析 XML

    Java 解析 XML 标签: Java基础 XML解析技术有两种 DOM SAX DOM方式 根据XML的层级结构在内存中分配一个树形结构,把XML的标签,属性和文本等元素都封装成树的节点对象 优点 ...

最新文章

  1. poj1625Censored!(AC自动机+dp)
  2. js 实现多选框(复选框) 和单选框,下拉框功能完整示例代码附效果图
  3. Android Handler的使用!!!
  4. linux 网卡丢弃多播包,rp_filter及Linux下多网卡接收多播的问题
  5. java ee 分页_【JavaEE】JavaEE分页实践
  6. python怎么输出文字_python怎么输出汉字
  7. Dlib学习笔记:dlib array2d与 OpenCV Mat互转
  8. 循环计算-02-0到100数字累加
  9. skipfish 主动扫描web安全评估工具
  10. java并发编程之线程的生命周期详解
  11. MySQL 常用命令大全
  12. 深度缓冲区,RenderQueue、ZWrite和ZTest
  13. 【数据结构笔记41】散列表/哈希表的性能分享
  14. fbeta_socre使用
  15. 双击 计算机 打不开,电脑双击桌面图标打不开的解决方法
  16. 十进制 -> N进制 写法 -- Java
  17. matlab 正弦曲线平均值,如何用matlab做正弦曲线拟合
  18. 佳文分享:我个人比较受用的一些习惯
  19. 聊聊服务器性能参数优化~(建议进入收藏夹)
  20. 支付宝当面付(扫二维码)

热门文章

  1. R语言 无敌小抄 cheatsheet
  2. unittest总结
  3. 找不到该项目无法删除
  4. [转]编译原理三大经典书籍(龙书 虎书 鲸书)
  5. springboot集成Elasticsearch实现各种搜索功能
  6. IDEA集成GitLab
  7. Star Talk|大疆精灵4连接星舆科技CORS账号网络RTK介绍
  8. Python自动化小技巧06——任意图片做出二维码
  9. 十一、51单片机之串口通信
  10. 1028 迪杰斯特拉算法