首页  >  文章  >  后端开发  >  XML PULL和PUSH技术的区别

XML PULL和PUSH技术的区别

黄舟
黄舟原创
2017-03-31 14:35:221953浏览

PULL跟SAX虽然都是基于事件的,但是两者最重要的区别应该是: 

SAX可以认为是“PUSH“的,跟PULL相对。因为Parser在遇到特定事件源的时候会将数据传递给回调函数来处理,从这个意义上讲数据是”推送“给用户的,而PULL方式是遇到特定事件时由用户去从Parser中获取自己感兴趣的,感觉数据像是”拉“下来的。 

还有一个区别是:在PULL式解析过程中(while循环里),可以退出循环;但是在SAX过程中,一旦开始解析就要解析完成。 

另外,稍微扩展下: 
目前主要存在两种解析和生成原理,一种是通过反射来匹配类名、属性名等信息,一种是直接使用jvm的字节码来进行操作,这两种方式的效率高下不言而喻,自然是二进制字节码效率更高。

以上是XML PULL和PUSH技术的区别的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn