Java XML 解析器 FastXml

Apache
Java
跨平台
2016-08-08
weager

FastXml是一个简单、高性能、极少内存消耗的基于xml pull机制的java xml解析器。

  • 性能最好的xml解析器:性能是VTD-XMl的3倍,是XPP3/MXP1的2倍,详见性能测试数据和测试代码

  • 几乎不消耗额外的内存:内存消耗比XPP3/MXP1还要少很多

  • 没有jar包依赖

  • jar包大小为18k,非常适合在移动互联网领域使用

  • FastXml的API与XMLPULL类似,但是要更简单一些,易于使用

  • 支持namespace,但不校验schema

为什么FastXml这么快

  • 尽可能少的解码字节:往往xml文档中的很多字节都是ASCII范围,它们可以直接强转成char,而不需要解码,比如:标签名、属性名,大部分时候只需要对属性值和文本块进行解码即可。

  • 注释、文档声明、DOCTYPE、无用的换行和空白通常不是我们关注的内容,所以这些内容自动被FastXml跳过了,使用API时更人性化。

  • 当需要把某个属性值或者文本块内容转换为int、short、long时,不需要先把byte数组转化成string,然后再转化成int、short、long。FastXml直接把byte数组转换成对应的类型。

  • 如果xml文档中有些标签内容你并不需要时,你可以跳过这些标签,你跳过的这部分将减少了字节解码,这在一些场景下能很好的帮助你提升性能。

  • FastXml类似XMLPULL一样,不校验文档schema和DTD,对文档的格式也不进行非常严格的校验:通常xml文档的格式都是正确的,当我们追求xml解析的最高性能时,就不需要对格式等内容进行及其严格的校验了。FastXml并不是完全没有校验,为了追求更好的性能,FastXml只是在解析过程中,对那些必须校验的地方进行校验。通常大部分的格式错误都能被校验出来。

许可证

Apache Licence, Version 2.0

加载中

评论(1)

君无畏
君无畏
正好需要这个,先试试 #FastXml#

暂无资讯

暂无问答

Fastxml 简单常用注解学习笔记

Fastxml 简单常用注解学习笔记 @JsonNaming @JsonIgnoreProperties @JsonIgnore @JsonFormat @JsonDeserialize @JsonSerialize @JsonProperty 如下User类 package com.usoft; import com.f...

2017/12/13 10:27
16
0
JAVA工具方法 —— JSON转XML 和 XML转JSON

这阵子一直在做一个三方支付,数据传递用的都是xml 但是在项目里都是用的json,没办法 研究了下json和xml互转的方法 这里做下记录。 1. json转xml 相对简单些 用递归即可实现 /** ...

2018/06/15 18:07
300
1
在Activiti中使用UUID作为主键生成策略

1. 默认的主键生成策略 了解过Activiit表中数据的同学可能知道记录的主键ID是用自增的生成策略,这样的生成策略有两个优点: 有顺序:所有引擎的表在插入新记录时全部使用同一个ID生成器 便于...

2016/05/17 10:36
24
2

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部