xml分析

XML分析

解决问题

  • 问题
    • 应用程序和不同的厂商都有自己的数据结构和数据的交换形式,但程序是相互连通的,需要数据的传递,这就需要一种通用的数据交换方式,比如:企业和银行中台接口通信,他们各自都有自己的数据格式,企业可能在自己的一方在和页面交互和内部使用json格式传输数据,但是企业和银行之间需要一种通用的数据载体,因为银行面临不同的企业,这就用到了xml,企业把数据封装成xml发送到银行的前置机,前置机把报文转换在发送给银行中台,达到了数据交换的目的.
  • 解决
    • 采用一种通用的数据交换方式,可自定义数据,这种标准是通用的标准,xml就是这么一种实现方式

优势劣势

  • 优势
    • 扩展性
    • 格式统一, 符合标准
    • 容易与其他系统进行远程交互, 数据共享比较方便,也是当今处理分布式结构信息的有效工具
  • 劣势
    • 数据的有效载荷低和pack/unpack耗资源
    • 客户端不同浏览器之间解析XML的方式不一致, 需要重复编写很多代码

适用场景

  • XML做为数据交换的载体,用于数据的存储与传输
  • XML做为配置文件

组成部分

xml约束

约束xml编写什么样内容,类似于集中校验,DTD约束和SCHEMA约束

解析方式

XML目前设计了两种解析方式:DOM和 SAX

  • DOM是把一个数据交换格式XML看成一个DOM对象,需要把XML文件整个读入内存,这一点上JSON和XML的原理是一样的,但是XML要考虑父节点和子节点,这一点上JSON的解析难度要小很多,因为JSON构建于两种结构:key/value,键值对的集合;值的有序集合,可理解为数组;
  • SAX不需要整个读入文档就可以对解析出的内容进行处理,是一种逐步解析的方法。程序也可以随时终止解析。这样,一个大的文档就可以逐步的、一 点一点的展现出来,所以SAX适合于大规模的解析。这一点,JSON目前是做不到得。

api

  • 参考w3c的api文档
  • 参考项目中的具体应用,抽取工具类
  • Java 解析 XML

相似对比

  • json和xml相同点
    • 可读性:JSON和XML的数据可读性基本相同,一边是建议的语法,一边是规范的标签形式.
    • 扩展性:扩展性都很好
  • json和xml不同点
比较xmljson
编码难度有难度简单
解码难度有难度简单
流行度广泛使用刚开始
解析工具Dom4j、JDomjson.org
数据体积
JavaScript交互困难方便
对数据描述性一般
解析速度
数据交换
格式比较
重量级:XML提 供了对大规模数据的逐步解析方案,这种方案很适合于对大量数据的处理轻量级:JSON只提供整体解析方案,而这种方法只在解析较少的数据时才能起到良好的效果
DOM和 SAXkey/value,键值对的集合;值的有序集合,可理解为数组;
适用性XML比较适合于标记 文档JSON却更适于进行数据交换处理
接口,web serivice应用与html交互

参考:

Java 解析 XML

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值