百宝箱教你使用VB.NET XmlReader类
创始人
2024-06-09 23:00:35
0

初学者知道VB.NET XmlReader是非常难理解的,怎么才能学好运用它呢,我们今天就教大家方法更快速的读取XML.XML在.NET Framework 中有着重要的作用。如:.NET Framwork 本身的配置文件和源代码文档中使用XML,SOAP、WEB服务和ADO.NET也使用XML。 为了扩展XML,.NET Framwork包含了System.Xml命名空间。这个命名空间带有许多处理XML的类。如,XmlDocument(这是DOM实现方式)类,以及.NET为SAX提供的一种代替品(XmlReader和XmlWriter类)。 XPath和XSLT类,System.Xml.Serialization命名空间中的类从XML文档中创建一个对象(反串行化)。

一、操作XML有两个方法

1.使用MSXML

MSXML 是XML的分析器,MSXML是一个基于COM的组件,所以需要创建交互操作的程序集。最简单的方法就是在VS 中添加这个COM组件(Microsoft XML,v4.0(或v3.0,v2.6))的引用。这时在引用那一栏中就会出现MSXML2(在导入COM组件是时,为了新程序集提供的命名空间是该COM组件的类型库名)。

2.使用System.Xml类

与msxml类相比,System.Xml类有几个优点。首先,System.Xml是托管代码,使用它可以确保所有的代码都获得安全保护和类型安全性。使用COM交互操作会增加一些开销,但最重要的是,System.Xml命名空间很容易使用,灵活性非常大。

读写流格式的XML
VB.NET XmlReader提供内存要求不是很高,提供了一种非常迅速、只几前的只读光标来处理XML数据。
VB.NET XmlWriter可以生成XML文档。
VB.NET XmlReader和XmlWriter都是抽象类。

派生于XmlReader的类有XmlNodeReader(把XmlNode作为其源,而不是一个流)、XmlValidatingReader(XmlValidatingReader添加了DTD和模式验证,提供数据的有效性验证)、XmlTextReader(与IO命名空间中的TextReader对象一起使用) ,XmlTextWriter(与IO命名空间中TextWriter对象一起使用)。

二、VB.NET XmlReader类

XmlReader非常类似于SAX。它们***的区别是SAX是一种推模型(所有XML数据都必须由应用程序 处理,无论是否需要这些数据),XmlReader是一种拉模型(如果不需要所有的数据,就不需要处理它们)。

如下代码:

  1. richTextBox1.Clear();  
  2. XmlReader rdr = XmlReader.Create("book.xml");  
  3. while (rdr.Read()){  
  4. if (rdr.NodeType == XmlNodeType.Text)  
  5. richTextBox1.AppendText(rdr.Value+"\r\n");  
  6. }  

(1)使用静态方法Create(),返回一个XmlReader对象。

(2)Read()方法可以进入下一个节点。

XmlReader类还可以读取强类型化的数据,它有几个ReadValuesAs方法,如、ReadValueAsDouble、ReadValueAsBoolean等。

【编辑推荐】

  1. 学习笔记之VB.NET删除文件夹案例
  2. VB.NET类型级命名规范语法总结
  3. VB.NET程序之扫描客户端服务代码演示
  4. 两方面讨论VB.NET C#区别
  5. VB.NET WEB服务开发宝典

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...