ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – XMLReader是SAX解析器,DOM解析器,还是两者都不是?

2019-07-17 02:27:50  阅读:301  来源: 互联网

标签:php parsing xml sax xmlreader


我正在测试各种方法来读取(可能很大,非常频繁的读取)PHP配置文件.不需要写作.我有两个成功的实现,一个使用SimpleXML(我知道是一个DOM解析器)和一个使用XMLReader.

我知道DOM读取器必须读取整个树,因此使用更多内存.我的测试反映了这一点我也知道SAX解析器是一个“基于事件”的解析器,它使用较少的内存,因为它从流中读取每个节点而不检查接下来的内容.

XMLReader还使用游标从流中读取,提供有关其当前所在节点的数据.所以,听起来像XMLReader(http://us2.php.net/xmlreader)并不是一个DOM解析器,但我的问题是,它是SAX解析器还是别的?看起来XMLReader的行为与SAX解析器的行为方式相似,但不会自行抛出事件(换句话说,您可以使用XMLReader构建SAX解析器吗?)

如果它是别的,那么它的分类是否有名字?

解决方法:

XMLReader calls itself a “pull parser.”

The XMLReader extension is an XML Pull parser. The reader acts as a cursor going forward on the document stream and stopping at each node on the way.

它后来继续说它使用libxml.

This page on Java XML Pull Parsing可能有一些可能的兴趣.如果XMLReader与此项目的目标和意图相关,那么您的问题的答案完全属于“不”类别.

标签:php,parsing,xml,sax,xmlreader
来源: https://codeday.me/bug/20190717/1484343.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有