前言
.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);} } }