我爱Aspx >> C#.Net >> XMLTextReader和XmlDocument读取XML文件的比较_XML技巧XMLTextReader myReader;
myReader = New XMLTextReader("c:\data\sales.XML")
创建一个称为Read()方法的循环,这个方法的返回值总是为真,直到到达文件的底部时,返回值才变为假。换句话说, 循环在文件的开始时启动并且读入所有的节点, 一次读入一个节点, 直到到达文件的结尾:
While (myReader.Read()) {
...
// 在这里处理每个节点.
...
}
每次成功调用Read()之后,XMLTextReader实例化程序包含了目前节点(即刚刚从文件中读取的那个节点)的信息。我们可以从XMLTextReader的成员中获得上述信息,就像表格1中描述的一样;并通过NodeType属性判断出当前节点的类型。在节点类型的基础上,程序的代码可以读取节点数据,检查它是否有属性,到底是忽略它还是根据程序需要进行相应的操作和处理。
当使用NodeType属性时,理解节点怎么联系到XML单元是非常重要的。例如, 看下列 XML元素:
<city>Chongqing</city>
XMLtextReader 把这个元素看作 3 个节点,顺序如下:
1.<city>标签被读为类型 XMLNodeType.Element 节点,元素的名字“city”可从 XMLTextReader 的Name属性中获得。
2.文本数据“Chongqing”被读为类型为XMLNodeType.Text的节点。数据“Chongqing ” 可从XMLTextReader 的Value属性中取得。
3.</city>标签被读为类型为XMLNodeType.EndElement 节点。同样,元素的名称“city”可从XMLTextReader的Name属性中获得。
这是 3 种重要的节点类型,其它的类型在.NET的说明文档中有详细说明,请大家参阅相关资料。
如果XMLTextReader遇到一个错误, 例如出现违反XML句法的情况,它抛出一个System.XML.XMLException类型的异常。使用这个类的代码应该总是被保护 ( 在Try……Catch块中),就像你以后在演示程序中看到的一样。
本文只是一篇相当简单的介绍XMLTextReader 类的文章,XMLTextReader类有相当多的成员,在这里不可能一一述及。当读入XML数据时,XMLTextReader能提供相当强的灵活性。即便如此,我仍然进行了大量的论述,以保证读者能编制程序来实现现实世界中经常要求完成的任务,也就是从一个XML文件读取数据然后以HTML的格式输出,从而实现在浏览器中的显示。
这个ASP.NET程序(脚本)在服务器上运行并产生一个HTML页面返回浏览器。这段脚本程序在代码段 1 给出,它用来工作使用的 XML 数据文件在代码段 2给出。你能看到这个 XML 文件包含一份表示联系关系的列表;程序的目标即是将这个列表显示出来,为了更容易我们观察,这些列表已经被格式化了。
运行程序:
1. 将代码段1存为XMLTextReader.ASPx文件,将代码段2存为XMLData.XML文件。
2. 把这两个文件都放在一个已经安装好.NET 框架的网络服务器的虚拟文件夹中。
Ҷƪл˵?
对于任意的XML的遍历_XML技巧[04-28]
xml文件调用css_XML技巧[04-28]
Xml_javascript分页 _XML技巧[04-28]
从xml中获取城市,省份名称_XML技..[04-28]
xslt的简单使用[xml-->html] ..[04-28]
XML卷之实战锦囊(2):动态查询..[04-28]
XML卷之实战锦囊(3):动态分页..[04-28]
XML卷之实战锦囊(4):选单连动..[04-28]
XML卷之实战锦囊(5):结构树图..[04-28]
XML入门精解之结构与语法_XML教程[04-28]
对于任意的XML的遍历_XML技巧[04-28]
xml文件调用css_XML技巧[04-28]
Xml_javascript分页 _XML技巧[04-28]
从xml中获取城市,省份名称_XML技..[04-28]
XSL简明教程(6)XSL过滤和查询_XS..[04-28]
XSL简明教程(7)XSL 的控制语句_X..[04-28]
XSLT轻松入门第一章:XSLT的概念..[04-28]
XSLT轻松入门第二章:XSLT的实例..[04-28]
XSLT轻松入门第三章:XSLT的元素..[04-28]
XSLT轻松入门第四章:XPath的语法..[04-28]