場景 Winform中自定義xml配置文件,並配置獲取文件路徑: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100522648 上面已經實現自定義配置文件的配置和讀取的基礎上,繼續對配置文件進行讀取與寫入。 xml配置文件如下 ...
場景
Winform中自定義xml配置文件,並配置獲取文件路徑:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100522648
上面已經實現自定義配置文件的配置和讀取的基礎上,繼續對配置文件進行讀取與寫入。
xml配置文件如下:
<?xml version="1.0" encoding="utf-8" ?> <Configure> <!--Y軸數量 預設是1--> <yConut>1</yConut> <!--Y軸集合--> <YAxis> <!--第一條Y軸--> <YAxi> <num>1</num> <title>溫度</title> <color>black</color> <min>-1500</min> <max>1500</max> </YAxi> <!--第二條Y軸--> <Yaxi> <num>2</num> <title>電壓</title> <color>black</color> <min>-1500</min> <max>1500</max> </Yaxi> </YAxis> </Configure>
關註公眾號
霸道的程式猿
獲取編程相關電子書、教程推送與免費下載。
大量編程視頻教程:https://space.bilibili.com/164396311
實現
配置文件讀取
添加一個工具類的方法
public static void readConfig() { //獲取可執行文件的路徑-即bin目錄下的debug或者release目錄 string context = System.Windows.Forms.Application.StartupPath; string path = String.Concat(context,@"\config\YAxisSet.xml"); XmlDocument xml = new XmlDocument(); //打開一個xml try { xml.Load(path); //選擇匹配 XPath 表達式的第一個 XmlNode XmlNode Configure = xml.SelectSingleNode("Configure/YAxis/YAxi"); //讀取節點數據 if (Configure !=null) { string portName = Configure.SelectSingleNode("title").InnerText; MessageBox.Show("第一個節點名是:" + portName); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
然後添加一個按鈕,在按鈕的點擊事件中調用此方法
private void simpleButton1_Click(object sender, EventArgs e) { ConfigAccessUtils.readConfig(); }
效果
寫入配置文件
同樣在工具類中新增方法
public static void writeConfig() { //獲取可執行文件的路徑 string context = System.Windows.Forms.Application.StartupPath; string path = String.Concat(context, @"\config\YAxisSet.xml"); XmlDocument xml = new XmlDocument(); //打開一個xml try { xml.Load(path); //選擇匹配 XPath 表達式的第一個 XmlNode XmlNode Configure = xml.SelectSingleNode("Configure/YAxis/YAxi"); //讀取節點數據 if (Configure != null) { string portName = Configure.SelectSingleNode("title").InnerText; MessageBox.Show("寫入之前節點名是:" + portName); } //寫入節點數據 Configure.SelectSingleNode("title").InnerText = "霸道"; string afterWrite = Configure.SelectSingleNode("title").InnerText; xml.Save(path); MessageBox.Show("寫入之後節點名是:" + afterWrite); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
效果
寫入之前
寫入之後
註:
進行修改配置文件的內容,真正被修改的是bin下的debug目錄下的配置文件。