XmlReader通过向前读取文档并识别读取到的元素,为我们提供了一种消耗资源最少的方
式来解析XML数据。很多时候我们都是利用XmlReader来对XML文件的数据有效性进行验证(使用
XmlReader实例的Read()方法依次读取所有节点,以此判断是否与符合指定的模式)。使用这种
非缓存、只读、只向前的方式,每次读取只将很少的数据放入内存,对内存的占用量较小,对
于读取内容较大的XML文件不失为一种最佳的选择。让我们看看XmlReader类读取XML文件的步骤
:
1、使用XmlReader类的Create()工厂方法创建该类的一个实例,并将被读取的XML文件名作为参数传入方法;
2、建立一个反复调用Read()方法的循环。这个方法从文件的第一个节点开始,然后读取所有余下的节点,但每次调用只读取一个节点。如果存在一个节点可被读取则返回True,而当到达文件最后时则返回False;
3、在这个循环中,将检查XmlReader实例的属性和方法,以获得关于当前节点的信息(节点的类型、名称、数据等)。不断执行循环直到Read()返回False;
下面首先看一个示例:
Employees.xml文件:
1、使用XmlReader类的Create()工厂方法创建该类的一个实例,并将被读取的XML文件名作为参数传入方法;
2、建立一个反复调用Read()方法的循环。这个方法从文件的第一个节点开始,然后读取所有余下的节点,但每次调用只读取一个节点。如果存在一个节点可被读取则返回True,而当到达文件最后时则返回False;
3、在这个循环中,将检查XmlReader实例的属性和方法,以获得关于当前节点的信息(节点的类型、名称、数据等)。不断执行循环直到Read()返回False;
下面首先看一个示例:
Employees.xml文件:
<?
xml version='1.0'
?>
< employees >
< employee id ="1" >
< name >
< firstName > Nancy </ firstName >
< lastName > Davolio </ lastName >
</ name >
< city > Seattle </ city >
< state > WA </ state >
< zipCode > 98122 </ zipCode >
</ employee >
< employee id ="2" >
< employees >
< employee id ="1" >
< name >
< firstName > Nancy </ firstName >
< lastName > Davolio </ lastName >
</ name >
< city > Seattle </ city >
< state > WA </ state >
< zipCode > 98122 </ zipCode >
</ employee >
< employee id ="2" >