C#读取XML文件:
编译NO2.cs后,执行将产生"data.xml"文件,其中"data.xml"文件的数据结构如下:
- <Employees>
- <NO1>
- <Name>Ma Jin Hu</Name>
- <ZIP> 239000 </ZIP>
- <Address>Feng Huang Street</Address>
- <City>Chu Zhou City</City>
- <State> ANHUI </State>
- </NO1>
- <NO2>
- <Name>Wang Tian</Name>
- <ZIP> 239000 </ZIP>
- <Address>Lang Ya Street</Address>
- <City>He Fei City</City>
- <State> ANHUI </State>
- </NO2>
- <NO3>
- <Name>Zou Wen Biao</Name>
- <ZIP> 100000 </ZIP>
- <Address>Sai Di Street</Address>
- <City>Bei Jin City</City>
- <State>Bei Jin</State>
- </NO3>
- </Employees>
在下面的内容中,我们利用C#读取XML文件,并用ListView组件按照数据结构给显示出来。下图是读取此XML后的运行界面。
要正确读取XML数据,首先要了解XML的结构。根据上面的XML文件,可以知道此XML包含三个数据,下面就来看如何读取这三条数据。
1.装入XML文件,形成数据流。
通过创建一个"XmlDocument"对象,然后利用"load"方法,可以把XML文件装入,具体如下:
- XmlDocument doc = new XmlDocument ( ) ;
- // 装入指定的XML文档
- doc.Load ( "C:\\data.xml" ) ;
2.C#读取XML文件,并显示出来:
读取XML是通过创建"XmlNodeReader"对象来实现的,"XmlNodeReader"对象主要是用来可以读取XML的节点数据。在本文的程序中使用到了一些"XmlNodeReader"的属性,譬如"NodeType"属性,用来判断读取得节点是什么类型。"Value"是节点的值。下面是读取XML文件并显示在ListView中的实现代码,其中listview1是已经创建ListView组件:
- while ( reader.Read ( ) )
- {
- //判断当前读取得节点类型
- switch ( reader.NodeType )
- {
- case XmlNodeType.Element :
- s = reader.Name ;
- break ;
- case XmlNodeType.Text :
- if ( s.Equals ( "Name" ) )
- myItem = Listview1.Items.Add ( reader.Value ) ;
- else
- myItem.SubItems.Add ( reader.Value ) ;
- break ;
- }
- }
【编辑推荐】