XML 解析简介|学习简介-阿里云开发者社区

开发者社区> 学堂小助手> 正文

XML 解析简介|学习简介

简介: 快速学习 XML 解析简介
+关注继续查看

开发者学堂课程【XML 入门:XML 解析简介】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/37/detail/848


XML 解析简介


内容简介


一、XLM 的基本介绍和解析方式

二、分析 dom 解析和 sax 解析的区别


一、XML 的基本介绍和解析方式

XML 是标记型文档,js 使用 dom 解析标记型文档是根据 html 的层级结构,在内存中分配一个属性结构,把 html 的标签,属性和文本都封装成 document 对象、element 对象,属性对象、文本对象,node 节点对象

xml 的解析技术:dom 和 sax

通过画图分析使用 dom 和 sax 解析 xml 过程

 

二、分析dom解析和sax解析的区别

1、dom 解析过程

图片29.png

根据xml 的层级结构在内存中分配一个树形结构,把 xml 中的每部分都封装成对象

图片30.png

有一个根节点 root,,下面有三个子节点 hoad、body、foot。

在 hoad 下有 title,title 下有个文本。

Body 下有两个 p 便签,p 便签下又有文本。

Foot 下面有 auther,auther 有个属性 name 在下面才有文本。

优点:非常方便实现做增删改操作。

缺点:使用 dom 方式解析 xml 时候文件很大会造成内存溢出,不能进行分配。

 

2、sax解析过程

解析步骤;采用事件驱动,边读边解析。(从上到下一行一行的解析,解析到某一个对象像标签、属性、文本等把这些对象的名称返回)

优点:使用 sax 方式不会造成内存溢出因为它是边读边解析,从而实现查询。

缺点:使用 sax 方式解析就不能实现增删改操作。

总结:

dom 方式解析

根据 xml 的层级结构在内存中分配一个树形结构,把 xml 的标签、属性、文件都封装成对象

优点:非常方便实现做增删改操作。

缺点:使用 dom 方式解析 xml 时候文件很大会造成内存溢出,不能进行分配。

sax 方式解析

采用事件驱动,边读边解析,从上到下,一行一行的解析,解析到某一个对象返回对象名称。

优点:使用 sax 方式不会造成内存溢出因为它是边读边解析,从而实现查询。

缺点:使用 sax 方式解析就不能实现增删改操作。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8478 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12078 0
jdom学习读取XML文件
用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类、Element类等的方法读取所需的内容。IBM : developerWorks 中国站上有一个很好的例子:            ...
585 0
java-工具-XML解析工具对比
-------------------------------------SAX解析xml---------------------------------- 》Sax定义          SAX是一个解析速度快并且占用内存少的xml解析器,...
1742 0
xml解析
Cocos2d-x Cocos2d-x 已经加入了tinyxml2用于xml的解析。3.0版本位于external/tinyxml2下。2.x版本位于cocos2dx/support/tinyxml2下。
504 0
开发那点事系列三 - 由XML解析引起的API设计思考
      谈起XML解析,大家可能第一反应是DOM,SAX模型。没错,在Java领域,无论是Dom4j, Jdom,还是XOM,其底层都会依赖具体的解析器引擎(Crimson or Xerces)去做事,具体的实现后面会有文章陆续探究。今天写这篇文章的主要目的是想和大家分享自己使用Java SE6的StAX API的一些感受,尤其是对其API的设计理念的一个思考,没多少文字,主要是一
1491 0
spring源码学习之:xml配置文件标签自定义
Spring框架从2.0版本开始,提供了基于Schema风格的XML扩展机制,允许开发者扩展最基本的spring配置文件(一 般是classpath下的spring.xml)。试想一下,如果我们直接在spring.xml中加入一个自定义标签,会发生什么呢?spring框架启动的时候会报错,因为spring根本不认识我们自定义的& lt;mytag>,这样对spring.xml的校验就会失败,最终结果就是框架不能启动。
1560 0
1394
文章
0
问答
来源圈子
更多
技术图谱:由专家组参与技术图谱的绘制与编写,知识与实践的结合让开发者们掌握学习路线与逻辑,快速提升技能 电子书:电子书由阿里内外专家打造,供开发者们下载学习,更与课程相结合,使用户更易理解掌握课程内容 训练营:学习训练营 深入浅出,专家授课,带领开发者们快速上云 精品课程:汇集知识碎片,解决技术难题,体系化学习场景,深入浅出,易于理解 技能自测:提供免费测试,摸底自查 体验实验室:学完即练,云资源免费使用
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载