好啦!這是第一篇學習日誌來分享一些讀取XML檔的部分
XML是一種標記式語法。.......基本介紹就去看wiki我就不多說了。而在一般的程式設計上我們可以利用XML檔存放一些設定值、像是蠻常用的資料庫連線設定,好方便我們在換電腦時因為設定不一樣使得東西要重新打或是重新包裝,那麼就來看看怎麼做吧!!
上面就是簡單的XML檔內容,裡面有連接的SQL server DB名稱 USER ID USER password可以利用記事本製作就好了存成 .xml就OK。之後再看到C#的部分。
private void Form1_Load(object sender, EventArgs e)
{
// strXmlFile = @"D:\Practice\Practice\Practice1.xml";
strXmlFile = this.GetType().Assembly.Location;
strXmlFile = strXmlFile.Replace(".exe", ".xml");
strConnection = "server=" + GetXmlString("root/connection/server") + "; database=" + GetXmlString("root/connection/database") + ";uid=" + GetXmlString("root/connection/uid") + ";pwd=" + GetXmlString("root/connection/pwd");
textBox1.Text = strConnection;
}
public string GetXmlString(string strNode)
{
//使用XmlDocument讀入XML格式資料
XmlDocument xmlDoc = new XmlDocument();
// string strPath = System.Windows.Forms.Application.StartupPath + strXmlFile;
xmlDoc.Load(strXmlFile);
//使用XmlNode讀取節點
XmlNode strTag = xmlDoc.SelectSingleNode(strNode); //注意節點的指定方式
return strTag.InnerText;
}
首先是在Form1_Load() 裡面有兩組路徑寫法,沒有註解的部分是絕對路徑,在這個寫法中XML檔的位置及名稱須與路徑相同,而第二組XML就是利用Assembly.Location取出執行檔的路徑,然後再將副檔名做調換,這種方式就必須要把XML檔與執行檔放在同一個資料夾裡,且名稱必須相同。在GetXmlString()就是讀取節點裡面的值。之後再把strConnection 給SQL連線與法就可以了。
完整程式(把它包成class 了)