XML解析

作者: 一生逍遥一生 | 来源:发表于2019-05-06 15:05 被阅读0次

XML解析方式

各种解析XML方式对比:

解析方式 介绍 优点 缺点
DOM DOM是基于树的结构,通常需要加载整文档和构造DOM树,
然后才能开始工作
1.由于整棵树在内存中,可以对xml文档随机访问
2.可以对xml文档进行修改操作
3.较sax,dom使用也更简单。
1.整个文档必须一次性解析完
2.由于整个文档都需要载入内存,大文档成本高
SAX SAX类似流媒体,它基于事件驱动的,因此无需将整个文档载入内存,
使用者只需要监听自己感兴趣的事件即可。
1.无需将整个xml文档载入内存,因此消耗内存少
2.可以注册多个ContentHandler
1.不能随机的访问xml中的节点
2.不能修改文档
JDOM JDOM是纯Java的处理XML的API,其API中大量使用Collections类 1.DOM方式的优点
2.具有SAX的Java规则
1.整个文档必须一次性解析完
2.由于整个文档都需要载入内存,对于大文档成本高
DOM4J 这4中xml解析方式中,最优秀的一个,集易用和性能于一身。

文章参考自:https://juejin.im/post/5a30dafe6fb9a045031013c4

在Spring源码中,使用的是SAX解析方式,需要借助xpath来获取指定命名空间的元素。

XML中DTD,XSD的区别与应用

1.DTD(Documnet Type Definition)

DTD即文档类型定义,是一种XML约束模式语言,是XML文件的验证机制,属于XML文件组成的一部分。
DTD 是一种保证XML文档格式正确的有效方法,可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。
一个 DTD文档包含:
元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。 DTD和XSD相比:DTD 是使用非 XML 语法编写的。 DTD 不可扩展,不支持命名空间,只提供非常有限的数据类型 .

2.XSD(XML Schemas Definition)

XML Schema语言也就是XSD。XML Schema描述了XML文档的结构。 可以用一个指定的XML Schema来验证某个XML文档,以检查该XML文档是否符合其要求。文档设计者可以通过XML Schema指定一个XML文档所允许的结构和内容,并可据此检查一个XML文档是否是有效的。XML Schema本身是一个XML文档,它符合XML语法结构。可以用通用的XML解析器解析它。 一个XML Schema会定义:文档中出现的元素、文档中出现的属性、子元素、子元素的数量、子元素的顺序、元素是否为空、元素和属性的数据类型、元素或属性的默认 和固定值。
XSD是DTD替代者的原因,一是据将来的条件可扩展,二是比DTD丰富和有用,三是用XML书写,四是支持数据类型,五是支持命名空间。
XML Schema的优点:
XML Schema基于XML,没有专门的语法
XML Schema可以象其他XML文件一样解析和处理
XML Schema比DTD提供了更丰富的数据类型.
XML Schema提供可扩充的数据模型。
XML Schema支持综合命名空间
XML Schema支持属性组。

参考文章:https://www.jianshu.com/p/13b205ba2175

相关文章

  • iOS解析XML

    2.0 XML解析 2.1 XML简单介绍 (1) XML:可扩展标记语言 (2) XML解析 2.2 XML解析...

  • iOS开发-XML解析

    一、 XML解析 1.1 XML简单介绍 (1) XML:可扩展标记语言 (2) XML解析 1.2 XML解析 ...

  • 3-XML解析

    3.0 XML解析 3.1 XML简单介绍 (1) XML:可扩展标记语言 (2) XML解析 3.2 XML解析...

  • XML、JSON解析

    XML解析 XML_GData解析 JSON解析

  • 05、网络解析

    解析:从事先规定好的格式中提取数据iOS开发常见的解析:XML解析,JSON解析 XML解析 XMl事例: XML...

  • Senior进阶 网络之数据解析之XML解析和JSON解析的用法

    Senior进阶 网络之数据解析之XML解析和JSON解析的用法 XML解析之SAX解析 XML解析之DOM解析 ...

  • XML

    NSXMLParser解析XML GDataXML解析XML

  • XML*

    目录 XML简介 XML基本语法 XML解析 * DOM解析   * DOM解析原理及工具   * DOM4J解析...

  • 面试相关

    1.Json解析与XML解析 Gson解析和FastJson ,FastJson解析效率高 XML解析,SAX解析...

  • 五、Groovy语法(五)json、xml解析

    Groovy数据解析 一、json解析 请求网络数据并解析 二、xml解析 groovy解析xml数据 groov...

网友评论

      本文标题:XML解析

      本文链接:https://www.haomeiwen.com/subject/fuaroqtx.html