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