XML读取

xml文件读取的基本步骤

1.创建文档对象

2.加载xml文档

3.获取跟节点

4.遍历节点并封装数据

例子:

xml文件

<?xml version="1.0" encoding="utf-8" ?>
<Students>
  <Student>
    <StuNo>1001</StuNo>
    <StuName>张三</StuName>
    <StuGender>男</StuGender>
    <StuClassRoom>计算机1班</StuClassRoom>
  </Student>
  <Student>
    <StuNo>1002</StuNo>
    <StuName>张静</StuName>
    <StuGender>女</StuGender>
    <StuClassRoom>计算机2班</StuClassRoom>
  </Student>
  <Student>
    <StuNo>1003</StuNo>
    <StuName>许晴</StuName>
    <StuGender>女</StuGender>
    <StuClassRoom>计算机1班</StuClassRoom>
  </Student>
  <Student>
    <StuNo>1004</StuNo>
    <StuName>古田</StuName>
    <StuGender>男</StuGender>
    <StuClassRoom>计算机3班</StuClassRoom>
  </Student>
  <Student>
    <StuNo>1005</StuNo>
    <StuName>张翠</StuName>
    <StuGender>女</StuGender>
    <StuClassRoom>计算机1班</StuClassRoom>
  </Student>
  <SystemInfo>
	<Version vNo="1.0" pTime="2015.9">数据库版本信息</Version>
  </SystemInfo>
</Students>
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;

namespace XML读取
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnLoadXML_Click(object sender, EventArgs e)
        {
            XmlDocument xmlDocument = new XmlDocument();//创建xml对象
            xmlDocument.Load("XMLFile1.xml");

            XmlNode xmlNode = xmlDocument.DocumentElement;//获取跟节点

            List<Student> list = new List<Student>();
            foreach (XmlNode xml in xmlNode.ChildNodes)//遍历跟节点
            {
                if (xml.Name == "Student")
                {
                    Student objStu = new Student();
                    foreach (XmlNode subNode in xml)
                    {
                        switch (subNode.Name) //根据子节点名称封装到对象的属性
                        {
                            case "StuNo":
                                objStu.StuNo = Convert.ToInt32(subNode.InnerText);
                                break;
                            case "StuName":
                                objStu.StuName = subNode.InnerText;//获取节点名称对应的节点值
                                break;
                            case "StuGender":
                                objStu.StuGender = subNode.InnerText;
                                break;

                            case "StuClassRoom":
                                objStu.StuClassRoom = subNode.InnerText;
                                break;

                        }
                    }
                    list.Add(objStu);

                }

            }
            dataGridView1.DataSource = list;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //创建xml读取器
            XmlTextReader xmlTextReader = new XmlTextReader("XMLFile1.xml");
            string info = string.Empty;
            //循环查询
            while (xmlTextReader.Read())
            {
                if(xmlTextReader.Name == "Version")
                {
                    info = "版本" + xmlTextReader.GetAttribute("vNo");
                    info += "发布时间" + xmlTextReader.GetAttribute("pTime");
                    break;
                }
                
            }
            //  XML文件信息
            //  < SystemInfo >
            //  < Version vNo = "1.0" pTime = "2015.9" > 数据库版本信息 </ Version >
            //  </ SystemInfo >
               MessageBox.Show(info);
        }
    }
}
运行截图
赞(1)
未经允许不得转载:TaKaSa » XML读取