pull跟sax虽然都是基于事件的,但是两者最重要的区别应该是:
sax可以认为是“push“的,跟pull相对。因为parser在遇到特定事件源的时候会将数据传递给回调函数来处理,从这个意义上讲数据是”推送“给用户的,而pull方式是遇到特定事件时由用户去从parser中获取自己感兴趣的,感觉数据像是”拉“下来的。
还有一个区别是:在pull式解析过程中(while循环里),可以退出循环;但是在sax过程中,一旦开始解析就要解析完成。
另外,稍微扩展下:
目前主要存在两种解析和生成原理,一种是通过反射来匹配类名、属性名等信息,一种是直接使用jvm的字节码来进行操作,这两种方式的效率高下不言而喻,自然是二进制字节码效率更高。
以上就是XML PULL和PUSH技术的区别的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号