XMLTextReader和XmlDocument读取XML文件的比较
日期:2006年12月16日 作者: 查看:[大字体 中字体 小字体]-
看到网上一片文章,自己式了一下,果然 XMLTextReader速度要快!
在.NET框架的System.XML名称空间中包含的XMLTextReader类不需要对系统资源要求很高,就能从XML文件中快速读取数据。使用XMLTextReader类能够从XML文件中读取数据,并且将其转换为HTML格式在浏览器中输出。
读本文之前,读者需要了解一些基本知识:XML、HTML、C#编程语言,以及.NET尤其是ASP.NET框架的一些知识。
微软公司的.NET框架为开发者提供了许多开发的便利,随着XML的重要性不断增长,开发者们都期待着有一整套功能强大的XML工具被开发出来。.NET框架没有辜负我们的这番期望,在System.XML 名称空间中组织进了以下几个用于XML的类:
XMLTextReader------提供以快速、单向、无缓冲的方式存取XML数据。(单向意味着你只能从前往后读取XML文件,而不能逆向读取)
XMLValidatingReader------与XMLTextReader类一起使用,提供验证DTD、XDR和XSD架构的能力。
XMLDocument------遵循W3C文档对象模型规范的一级和二级标准,实现XML数据随机的、有缓存的存取。一级水平包含了DOM的最基本的部分,而二级水平增加多种改进,包括增加了对名称空间和级连状图表(css)的支持。
XMLTextWriter------生成遵循 W3C XML 1.0 规范的XML文件。
本文主要讲述的是第一个类XMLTextReader,这个类设计的目的就是从XML文件中快速的读取数据,而对系统资源(主要包括内存和处理器时间)不做很高的要求。在父级程序的控制下,它通过每次只处理一个节点的方式对XML文件进行逐步操作,实现这种工作过程。在XML文件的每个节点中,父级程序能决定该节点的类型,它的属性和数据(如果有的话),以及其他有关该节点的信息。基于这些信息,父级程序可以选择是处理这个节点还是忽略该节点的信息,以满足各种应用程序请求的需要。这被称为抽取式(pull)处理模型,因为父级程序发出请求并且从XML文件中抽取各个节点,然后根据需要处理它或者是不处理它。
我们可以把XMLTextReader类和XML简单应用程序接口,即SAX相比,后者是在编程人员中非常流行的另一种读取XML数据的技术。XMLTextReader 和SAX有一点很相似,它们都不需要占用很多的系统资源,就能迅速的从XML文件读取数据。但是,与XMLTextReader的抽取式模型迥然不同,SAX使用的是推入式模型:XML处理器通过 “事件”告知主机应用程序哪些节点数据是可以获得,那些不能获得;根据需要,主机程序则作出相应的反应或置之不理。换句话说,数据的传送方向是从SAX处理程序中推入到主机。程序员们势必会在抽取式和推入式处理模型谁更有优势的问题上争论一番,但是大家都不可否认的是,两种模型都能很好的进行工作。.NET 框架不支持SAX,但是你能使用现存的SAX工具, 例如 MSXML分析器,用于你的.NET 程序。XMLTextReader 类有一些构造程序来适应各种各样的情况,比如从一个已经存在的数据流或统一资源定位网址读取数据。最常见的是,你或许想从一个文件读取XML数据,那么也就有一个相应的构造程序来为此服务。这里有一个例子(我的所有代码例子都使用的是C#语言,如果你喜欢使用VISUAL BASIC语言,它们转换起来很容易)。
XMLTextReader myReader;
myReader = New XMLTextReader("c:\data\sales.XML")创建一个称为Read()方法的循环,这个方法的返回值总是为真,直到到达文件的底部时,返回值才变为假。换句话说, 循环在文件的开始时启动并且读入所有的节点, 一次读入一个节点, 直到到达文件的结尾:
While (myReader.Read()) {
... - [1] [2] [3] [4] [5] [6] 下一页
-
- XMLTextReader和XmlDocument读取XML文件的比较 相关文章:
- ·用木马取得远程电脑上QQ聊天纪录
- ·网络盗取隐私成风 炒股软件首当其冲
- ·QQ盗号木马盗取帐号与重要信息
- ·.NET中取得IP/用户名等信息常用方法
- ·无线键盘可被监听 解密可获取输入数据
- ·窗口偷窥者监视IE盗取用户信息
- ·用overflow代替left截取指定长度字符串
- ·腐败之盗多进程加载盗取众多网游
- ·CSS:用overflow代替left截取指定长度字符串
- ·巧用宏随意提取Excel单元格的批注内容
- XMLTextReader和XmlDocument读取XML文件的比较 相关软件
- ·巧取军火船
- ·取暖运动
- ·打官司取胜必备知识
- ·险中取胜
- ·最高命运—政治领袖们夺取权力大瞬间
- ·获取成功人生的40条守则
- ·让别人无法取代
- ·天下残局: 断章取义说晚清
- ·HPU 机械专业软件挺大的,大家看介绍,各取所需
- ·赚取大利润的16个忠告-李践 rmvb 管理营销
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
下一篇:asp.net ajax 1.0,hello world程序
精品推荐
热点TOP10
- ·关于web.xml配置的详细说明
- ·XML Schema定义元素的基本知识
- ·XSL/XML网页制作入门,入门到精通
- ·XML轻松学习手册(三):XML的术语
- ·XML轻松学习手册(一):XML快速入门
- ·用XML+JSP实现网页内容动态显示的方案
- ·自定义应用程序配置文件(app.config)
- ·XML轻松学习手册(二):XML概念
- ·XHTML标签写法应该注意的问题
- ·利用XMLHTTP无刷新添加数据
- ·XHTML教程,简单认识XHTML基础知识
- ·常用的XHTML标签的使用技巧介绍
- ·网页设计学习XHTML应用小结
- ·XHTML 1.0 参考
- ·Xml 串行话对象与反串行实例
- ·XQuery 初学者入门教程:XQuery 术语和语法
- ·XQuery 初学者入门教程:XQuery FLWOR + HTML
- ·XQuery 初学者入门教程:XQuery FLWOR 表达式
- ·分享:XMLHTTPRequest的属性和方法简介
- ·XQuery 初学者入门教程:XQuery实例
