Vs2017 C#操作xml(1)
前言:
許多有資料儲存要求的場合我們第一個想到的就是資料庫或者利用序列化來儲存成為檔案,實際上上面兩種方法都略顯麻煩,其實我們有更好的選擇,那就是用xml檔案來實現資料儲存和呼叫。
本教程主要講解如何用C#來操作xml,所以你必須先具備xml語言的基礎知識(如果你對此不熟悉那麼可以到網上下載一個w3c的教程仔細看看)和C#的基礎知識,其中涉及的到xpath本教程會做介紹,但重點是教會大家如何使用c#及用VS2017的控制元件及函式來操作xml檔案,達到增、刪、改、查等目的。
載入xml文件之前我們首先必須知道我們的文件在哪裡,也就是說要首先獲得xml文件的路徑,所首先我們介紹幾種C#自帶的獲取路徑的方法。
a) 檔案路徑的獲取
檔案路徑的獲取這裡我提供幾種方法:
獲得當前目錄:
string xmlpath = Environment.CurrentDirectory;
獲得啟動目錄:
string xmlpath =System.Windows.Forms.Application.StartupPath;
獲得當前域名下的根目錄:
string xmlpath =System.AppDomain.CurrentDomain.BaseDirectory;
實際上,這幾種方法在專案處於編寫除錯階段的時候獲得的路徑都是一樣的,但如果程式打包釋出了,這幾個方法獲得的路徑就有差別了。
b) 載入xml檔案
Xml文件的載入,有兩種方法,第一種是通過XmlDocument物件的load方法載入,第二種是通過Xdocument物件的load方法載入。
我們首先來看XMLDocument的載入方法,我們必須注意,任何對於xml的操作都必須先引入System.xml名稱空間。
首先構造一個xmlDocument物件來裝載將要載入的xml文件,方法如下:
xmlDocument xmlDoc=new xmlDocument();
然後呼叫xmlDocument的load方法:
xmlDoc.load(xmlpath +”testxml.xml”)
通過XDocument載入,XDocument是專門提供給linq來操作xml的物件,所以我們在使用的時候必須先引入System.xml.linq方可使用。
直接用它的靜態方法來載入文件
XDocument xDoc=XDocument.Load(xmlpath)
c) 程式碼實現
假定我們在Form中添加了一個listbox控制元件,掌握了上述兩種方法後,我們用程式碼實現如下:
假設我們的xmltext.xml中有如下的內容:
<List name="salarylist" date="2018-12-30">
<id value="1">
<name value="Steven" />
<years value="8"/>
<amount value="8000"/>
</id>
</List>
執行效果如下:
這一篇,我們主要完成了C#對xml的基礎操作,下一篇,我們將進一步討論xml的樹形結構以及節點的增刪改查的操作。