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