2019独角兽企业重金招聘Python工程师标准>>>

XML解析方式有三种:DOM、SAX、StAX

xml文档每个成分都是一个节点,每个xml标签对应一个元素节点:整个文档是一个文档节点,每个xml标签对应一个元素节点,包含早xml标签中是文本节点,注释是注释节点。

DOM解析:

DOM Document Object Model ----- 文档对象模型 基于树形结构的xml解析方式。 会将整个XML载入内存,以树形结构方式存储,易于编程 当xml文档是聚焦大,会造成较大的资源消耗。 即将整个xml 加载内存中,形成文档对象,所有对xml操作都对内存中文档对象进行

SAX解析:

基于事件模型的sax解析方式 当xml 文档非常大,不可能将xml所有数据加载到内存 即一边解析 ,一边处理,一边释放内存资源 ---- 不允许在内存中保留大规模xml 数据 使用推模式如下图所示

即由服务器为主导,向客户端主动发送数据(推送 ) 推模式(事件由解析器产生并通过回调函数发送给应用程序)

缺点:不存储xml文档结构,开发人员自己维护业务逻辑涉及的多层节点之间关系。

流式处理所以只能向后单向进行,无法像dom那样自由导航到之前处理过得节点上重新处理,也不支持xPath

stax

STAX 是一种 拉模式 XML 解析方式(SAX性能不如STAX,STAX技术较新)

采取如下图所示的模式

即拉模式由客户端为主导,主动向服务器申请数据(轮询 )(应用程序通过调用解析器推进解析进程)

简化了处理xml文档代码,可同时处理多个xml文档,可决定何时停止解析。

转载于:https://my.oschina.net/u/3795791/blog/2221889

XML文档DOM、SAX、STAX解析方式相关推荐

  1. XML文档定义有几种形式?解析XML文档有哪几种方式?

    XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? a: 两种形式 dtd schema,b: 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上 ...

  2. XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?

    XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式? XML文档定义分为DTD和Schema两种形式,二者都是对XML语法的约束.其本质区别在于Schema本身也是一个XML文 ...

  3. XML——写出XML文档(XSLT+StAX)

    [0]README 0.1) 本文描述部分转自 core java volume 2 , 旨在理解 XML--写出XML文档(XSLT+StAX) 的基础知识 : 0.2) for source co ...

  4. Java - XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?

    分享一个大牛的人工智能教程.零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net XML文档定义分为DTD和Schema两种形式,二者 ...

  5. XML文档定义有几种方式?它们之间有何本质区别?解析XML文档有哪几种方式?

    XML文档定义方式:有两种定义形式,dtd文档类型定义和schema模式 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的) 普通区别: 1.s ...

  6. xml文档读取-SAX

    由于dom采用的是将xml文档加载入内存进行处理的方式,如果xml文档较大,则会导致加载时间过长,效率降低的情况,因此,sun公司在JAXP中又添加了对SAX的支持: SAX,全称Simple API ...

  7. [Swift通天遁地]七、数据与安全-(1)XML文档的创建和解析

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  8. html怎么加载xml文档,在html中解析xml文件(javascript 读取)

    George John Reminder Simth 以上是note.xml的内容. 下面note.html是解析note.xml的内容: function parseXML(){ try{ xmlD ...

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

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

最新文章

  1. Python jquery标签云
  2. 谈谈redis的热key问题如何解决
  3. ThumbnailUtils的使用
  4. KMP 中next 数组的性质
  5. Linux下root密码丢失和运行级别错误的解决办法
  6. js反序列化html编码,JavaScript实现的反序列化json字符串操作示例
  7. python批量删除注释_批量删除C和C++注释
  8. php一点按钮就下载功能源码,php实现强制文件下载方法的源码参考
  9. Oracle序列生成器
  10. puppetmaster 、agent 证书管理相关
  11. CSS + jQuery 实现的超 Sexy 下拉菜单
  12. JVM 隐含执行同步情况
  13. 高等数学:第三章 微分中值定理与导数的应用(3)泰勒公式
  14. JS设计模式(二)-Revealing Module(揭示模式)
  15. 策略的多米诺骨牌(博弈论的诡计)
  16. longest-consecutive-sequence(最长连续序列)
  17. U盘禁止写入/SD卡被禁用怎么解除
  18. NAS系列 硬件组装
  19. 斜渐近线b为0为什么不存在_向量的奇技淫巧——斜坐标系
  20. k8s滚动更新(六)--技术流ken

热门文章

  1. 闽台“物联网+”产业融合方兴未艾
  2. Html报表用Excel打开保持表格线【Html报表模板】
  3. HTTP 请求包/回复包格式数据分析
  4. 一个苏州IT人的5年挨踢经历-------面试篇(之三)
  5. Oracle快速复制表
  6. 三目运算符引发的一次事故
  7. 【技术实验】表格存储Tablestore准实时同步数据到Elasticsearch
  8. 悟道:一位IT高管20年的职场心经
  9. 简述RHEL7新特性(一)
  10. A+B Problem III