C#温故而知新学习系列之XML编程—XmlDocument类(一)

  前言

  .NET的Framework的XML类提供了一个XML分析器对象XmlDocument,它是执行大多数XML操作的核心对象,在操作XML文档时,首先要定义一个XmlDocument对象,再将XML文档载入内存,最后对XML文档进行读写操作

  阅读目录

  1:XML文件编写

  2:代码文件编写

  实例

  如何获取我们想要的名称,性别以及年龄呢?

  实现步骤

  1:XML文件编写

  XMLFile.xml

  <?xml version="1.0" encoding="utf-8" ?>
  <Students>
     <student>
        <name>张三</name>
        <sex>男</sex>
        <age>27</age>
       </student>
     <student>
        <name>路西</name>
        <sex>女</sex>
        <age>26</age>
     </student>
  </Students>

  2:代码文件编写

  Form1.cs

  using System.Data;

  using System.Drawing;
  using System.Text;
  using System.Windows.Forms;
  using System.Xml;

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

          private void Form1_Load(object sender, EventArgs e)
          {

       //声明一个XmlDocument对象
              XmlDocument xml_doc = new XmlDocument();

       //加载我们编写的XMLFile.xml文件到内存中来,这里可以使用相对地址,也可以使用绝对地址,我们这里使用相对地址
              xml_doc.Load("XMLFile.xml");

       //DocumentElement属性表示获取XML文档的根节点也就是会获取如图一我选中的节点,SelectSingleNode(“/Students”)方法是获取与XPath表达式查询匹配的第一个XmlNode,也就是说会继续获取图一中我选中的节点下的Students下的所有节点,最后会获取如图二我选中的节点

      XmlNode xml_node= xml_doc .DocumentElement.SelectSingleNode("/Students");

                

                 图一                             

      

               图二
               //我们获取有关张三的信息
              MessageBox.Show(xml_node.ChildNodes[0].InnerText);

       

      但是如果我们只想要姓名“张三”,那我们可以这样来做。

      //得到一个节点集合,也就是说会得到图三的节点信息

              XmlNodeList xml_node_list = xml_doc.DocumentElement.SelectNodes("student");

      

                图三              

      //得到第一个子节点的第一个子节点的文本信息

      string strName = xml_node_list[0].ChildNodes[0].InnerText;
               MessageBox.Show(strName);

      
          }
      }
  }

posted @ 2011-12-20 16:56  David.Meng  阅读(1225)  评论(2编辑  收藏  举报