扫码关注官方订阅号
求专业解答!对性能、功能、使用方式及应用场景对比介绍!
ringa_lee
主要有基于树的DOM 和基于事件模型的SAX
前者是将整个文档解析成一颗树型结构,通过API可以在各节点上任意访问,优点就是操作方便,缺点是因为要完整解析文档,所以在解析超大文档时内存占用较大。 后者是一种流式解析,顺序读取并解析文档,在解析到特定元素的时候通过用户定义的解析事件句柄来执行操作,可以看作一种“推送”的形式。与DOM相反,SAX的优点就是内存占用低,因为不需要完全解析文档,速度更快,但是由于是基于事件模型,所以用户在编程时会有一种“被动”的不适感。
可以看看这篇介绍文章: http://wishlife.iteye.com/blog/181865
另外,还有一种是两类的折中叫做StAX: http://www.ibm.com/developerworks/cn/xml/x-tipstx4/
dom4j吧。多数开源框架用于xml解析的选择
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
主要有基于树的DOM 和基于事件模型的SAX
前者是将整个文档解析成一颗树型结构,通过API可以在各节点上任意访问,优点就是操作方便,缺点是因为要完整解析文档,所以在解析超大文档时内存占用较大。
后者是一种流式解析,顺序读取并解析文档,在解析到特定元素的时候通过用户定义的解析事件句柄来执行操作,可以看作一种“推送”的形式。与DOM相反,SAX的优点就是内存占用低,因为不需要完全解析文档,速度更快,但是由于是基于事件模型,所以用户在编程时会有一种“被动”的不适感。
可以看看这篇介绍文章: http://wishlife.iteye.com/blog/181865
另外,还有一种是两类的折中叫做StAX: http://www.ibm.com/developerworks/cn/xml/x-tipstx4/
dom4j吧。多数开源框架用于xml解析的选择