首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XMLTextReader使用哪种解析方法?

XMLTextReader使用哪种解析方法?
EN

Stack Overflow用户
提问于 2009-03-27 14:58:57
回答 3查看 648关注 0票数 3

XMLTextReader使用哪种解析方法?我很困惑。Sax还是Dom?

EN

回答 3

Stack Overflow用户

发布于 2009-03-27 15:02:21

都不是,真的--这是个。它既不在内存中构建完整的对象模型(DOM),也不解析整个文档,从而引发客户端可以响应的事件(SAX)。

相反,客户端控制解析,要求解析器进行更多的读取,然后检查其状态并做出相应的反应,然后要求其读取更多的内容,依此类推。

票数 9
EN

Stack Overflow用户

发布于 2009-03-27 15:07:26

首先,SAX是一个仅用于Java的解析器api。与语言无关的术语是推解析,而XmlTextReader不使用这种技术。

DOM是一种W3C标准,.NET实现了DOM级别1和2。但是,此功能是在类XmlDocument中实现的,该类可以使用XmlTextReader加载文档。

XmlTextReader使用拉解析(与之对应的是StAX)进行解析,这基本上与SAX/推式解析相反。不是在读取新实体时收到通知,而是在准备就绪时请求文档中的下一个实体(顺便说一句,可以在pull解析器之上实现SAX风格的解析器,但不能反过来实现)。

票数 2
EN

Stack Overflow用户

发布于 2009-03-27 15:03:32

DOM解析器读取整个XML文档,并将其表示为内存中的对象层次结构。

SAX解析器一次读取一个XML标记。您提供了解析器在遇到文档中某些类型的内容时应该调用的回调方法。

XMLTextReader一次读取一个XML令牌,因此它更接近SAX,但是它不提供回调。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/690109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档