C#温故而知新学习系列之XML编程—Xml读取器XmlReader类(二)

  前言

    XmlReader类提供了对XML文档内容快速的,只向前的访问,但不适合对文档内容和结构进行修改,XmlReader从XML文档的顶部开始读取数据,每次读取一个节点

  阅读目录

  一:读取XML文档的步骤

    二:实现步骤

  三:运行效果

  一:读取XML文档的步骤

  1:使用XmlReader类的Create()方法创建该类的实例,并将XML文档名称作为参数传入方法。

  2:建立一个循环调用Read()方法,逐节点读取整个XML文档,如果存在一个节点可被读取则被返回true,当到达XML文档最后时返回false。

  3:在这个循环当中,检查XmlReader对象的属性和方法,以获得当前节点的信息。

  实例 

   二:实现步骤

  1:XML文件编写

   <?xml version="1.0" encoding="utf-8" ?>
   <BookShops>
     <Book Number="product-001">
        <Name>西游记</Name>
        <OthorName>大唐西游传</OthorName>
        <Author>吴承恩</Author>
        <Money>220</Money>
        <Details>
        东胜神州的傲来国花果山的一块巨石孕育出了一只明灵石猴,石猴后来拜须菩提为师后习得了七十二变,具有了通天本领,于是占山为王,自称齐天大圣。
        </Details>
     </Book>
     <Book Number="product-002">
        <Name>红楼梦</Name>
        <OthorName>石头记</OthorName>
        <Author>曹雪芹</Author>
        <Money>320</Money>
        <Details>
         女娲炼石补天,所炼之石剩一块未用,弃在大荒山无稽崖青埂峰下。此石“自经煅炼之后灵性已通”,因未被选中补天常悲伤自怨。一日,和尚茫茫大士、道士渺渺真人经过此地。
        </Details>
     </Book>
  </BookShops>

  2:代码文件编写

  Form1.cs

  using System;

  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using System.Xml;

  namespace XmlReaderClass
  {
       public partial class Form1 : Form
       {
            public Form1()
            {
                InitializeComponent();
            }

             private void Form1_Load(object sender, EventArgs e)
             {
                 string strXmlPath = "XMLFile.xml";
                 XmlReader xml_reader = XmlReader.Create(strXmlPath);
                 while (xml_reader.Read())
                 {

           //获取当前节点的类型,如果当前读取的节点是文本类型就输出文本信息
           if (xml_reader.NodeType == XmlNodeType.Text)
                        {
                            this.label1.Text += xml_reader.Value + "\r\n";
                        }
                }
             }
       }
   }

  三:运行效果

  

posted @ 2011-12-21 11:49  David.Meng  阅读(4016)  评论(0编辑  收藏  举报