以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DOM/SAX/XPath 』  (http://bbs.xml.org.cn/list.asp?boardid=11)
----  .NET中使用DOM 遍历节点和使用XPathNavigator遍历节点哪种效率高[讨论]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=27271)


--  作者:zppro_2006
--  发布时间:2/14/2006 7:55:00 PM

--  .NET中使用DOM 遍历节点和使用XPathNavigator遍历节点哪种效率高[讨论]
分别用XMLDocument中的DOM和XMLDocument的XPathNavigator构建树
请问哪种效率高
--  作者:zppro
--  发布时间:2/23/2006 8:58:00 PM

--  
基于树模型的 API
  树模型 API 将 XML 文档呈现为由节点组成的树,这个树通常可以立即加载到内存中。最常用的 XML 树模型 API 是 W3C 文档对象模型 (DOM)。DOM 支持以编程方式读取、处理和修改 XML 文档。

基于游标的 API
  XML 游标 API 就像在 XML 文档中移动的镜头,对准被定向的文档的各个方面。.NET Framework 中的 XPathNavigator 类就是一个 XML 游标 API。XML 游标 API 与树模型 API 相比,具有不必将整个文档加载到内存中的优势,这样便于对 XML 生成程序中按需生成文档的部分进行优化。

流式 API
使用处理 XML 的流式 API 时,用户只需在内存中存储要处理的当前节点的上下文,即可处理 XML 文档。此类 API 可以处理大型的 XML 文件,而不会占用庞大的内容空间。用于 XML 处理的流式 API 主要有两种类型:基于推进的 XML 分析器和基于拉出的 XML 分析器。
  
基于推进的分析器(如 SAX .NET Framework中的XmlWriter 类)的工作方式是在 XML 数据流中移动,并在遇到 XML 节点时将事件“推进”到已注册的事件处理程序(回调方法)。基于拉出的分析器(如 .NET Framework 中的 XmlReader 类)则在 XML 数据流中用作只向前的游标.


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms