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);
}
}
}
