XML解析方式有三种:DOM、SAX、StAX编程
xml文档每一个成分都是一个节点,每一个xml标签对应一个元素节点:整个文档是一个文档节点,每一个xml标签对应一个元素节点,包含早xml标签中是文本节点,注释是注释节点。服务器
DOM解析:dom
DOM Document Object Model ----- 文档对象模型 基于树形结构的xml解析方式。 会将整个XML载入内存,以树形结构方式存储,易于编程 当xml文档是聚焦大,会形成较大的资源消耗。 即将整个xml 加载内存中,造成文档对象,全部对xml操做都对内存中文档对象进行函数
SAX解析:性能
基于事件模型的sax解析方式 当xml 文档很是大,不可能将xml全部数据加载到内存 即一边解析 ,一边处理,一边释放内存资源 ---- 不容许在内存中保留大规模xml 数据 使用推模式以下图所示xml
即由服务器为主导,向客户端主动发送数据( 推送 ) 推模式(事件由解析器产生并经过回调函数发送给应用程序)对象
缺点:不存储xml文档结构,开发人员本身维护业务逻辑涉及的多层节点之间关系。blog
流式处理因此只能向后单向进行,没法像dom那样自由导航到以前处理过得节点上从新处理,也不支持xPath进程
stax 事件
STAX 是一种 拉模式 XML 解析方式(SAX性能不如STAX,STAX技术较新)
采起以下图所示的模式
即拉模式由客户端为主导,主动向服务器申请数据( 轮询 )(应用程序经过调用解析器推动解析进程)
简化了处理xml文档代码,可同时处理多个xml文档,可决定什么时候中止解析。