Winform中对自定义xml配置文件进行Xml节点的添加与删除
場景
Winform中自定義xml配置文件后對節(jié)點(diǎn)進(jìn)行讀取與寫入:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100532137
在上面已經(jīng)對xml配置文件對節(jié)點(diǎn)能進(jìn)行讀取與寫入之后 ,實(shí)現(xiàn)對節(jié)點(diǎn)元素的
添加與刪除。
關(guān)注公眾號
霸道的程序猿
獲取編程相關(guān)電子書、教程推送與免費(fèi)下載。
大量編程視頻教程:https://space.bilibili.com/164396311
xml配置文件如下
<?xml version="1.0" encoding="utf-8" ?> <Configure><!--Y軸集合--><YAxis><!--第一條Y軸--><YAxi><no>1</no><title>溫度</title><color>black</color><min>-1500</min><max>1500</max></YAxi><!--第二條Y軸--><YAxi><no>2</no><title>電壓</title><color>black</color><min>-1500</min><max>1500</max></YAxi></YAxis></Configure>實(shí)現(xiàn)
添加節(jié)點(diǎn)
在工具類中新增方法
?public static void addNode(){//獲取可執(zhí)行文件的路徑-即bin目錄下的debug或者release目錄string context = System.Windows.Forms.Application.StartupPath;string path = String.Concat(context, @"\config\YAxisSet.xml");XmlDocument xml = new XmlDocument();//打開一個xmltry{xml.Load(path);//選擇匹配 XPath 表達(dá)式的第一個 XmlNodeXmlNode Configure = xml.SelectSingleNode("Configure/YAxis");//讀取節(jié)點(diǎn)數(shù)據(jù)if (Configure != null){XmlNode yaxi = xml.CreateNode(XmlNodeType.Element, "YAxi", null);//創(chuàng)建No節(jié)點(diǎn)XmlNode no = xml.CreateNode(XmlNodeType.Element, "YAxi", null);no.InnerText = "3";yaxi.AppendChild(no);//創(chuàng)建title節(jié)點(diǎn)XmlNode title = xml.CreateNode(XmlNodeType.Element, "title", null);title.InnerText = "badao";yaxi.AppendChild(title);//創(chuàng)建color節(jié)點(diǎn)XmlNode color = xml.CreateNode(XmlNodeType.Element, "color", null);color.InnerText = "red";yaxi.AppendChild(color);//創(chuàng)建min節(jié)點(diǎn)XmlNode min = xml.CreateNode(XmlNodeType.Element, "min", null);min.InnerText = "-1600";yaxi.AppendChild(min);//創(chuàng)建max節(jié)點(diǎn)XmlNode max = xml.CreateNode(XmlNodeType.Element, "max", null);max.InnerText = "1600";yaxi.AppendChild(max);//將yaxi追加到Y(jié)AxisConfigure.AppendChild(yaxi);XmlNodeList nodelist = xml.SelectNodes("Configure/YAxis/YAxi");xml.Save(path);MessageBox.Show("nodelist[0]是:" + nodelist[0].ChildNodes[1].InnerText);MessageBox.Show("nodelist[1]是:" + nodelist[1].ChildNodes[1].InnerText);MessageBox.Show("nodelist[2]是:" + nodelist[2].ChildNodes[1].InnerText);}}catch (Exception ex){Console.WriteLine(ex.Message);}}注:
主要通過XmlDocument.CreateNode來創(chuàng)建節(jié)點(diǎn)。
第一個參數(shù)是節(jié)點(diǎn)類型,Element代表是節(jié)點(diǎn)。
第二個參數(shù)Name屬性。
第三個參數(shù)是命名空間,這里為null
以上效果就是完整的添加了一條Y軸以及相關(guān)屬性。
然后新建一個按鈕,在點(diǎn)擊事件中調(diào)用工具類中的方法。
private void simpleButton3_Click(object sender, EventArgs e){ConfigAccessUtils.addNode();}效果
添加之前
?
點(diǎn)擊添加按鈕后
?
添加之后
?
刪除節(jié)點(diǎn)
工具類中新建方法
public static void removeNode(){//獲取可執(zhí)行文件的路徑-即bin目錄下的debug或者release目錄string context = System.Windows.Forms.Application.StartupPath;string path = String.Concat(context, @"\config\YAxisSet.xml");XmlDocument xml = new XmlDocument();//打開一個xmltry{xml.Load(path);//選擇匹配 XPath 表達(dá)式的第一個 XmlNodeXmlNode Configure = xml.SelectSingleNode("Configure/YAxis");//讀取節(jié)點(diǎn)數(shù)據(jù)if (Configure != null){XmlNodeList nodelist = xml.SelectNodes("Configure/YAxis/YAxi");MessageBox.Show("刪除之前count是:" + nodelist.Count);//將第三個節(jié)點(diǎn)刪除Configure.RemoveChild(Configure.ChildNodes[2]);nodelist = xml.SelectNodes("Configure/YAxis/YAxi");xml.Save(path);MessageBox.Show("刪除之后count是:" + nodelist.Count);}}catch (Exception ex){Console.WriteLine(ex.Message);}}注:
是通過XmlNode.RemoveChild(XmlNode)來實(shí)現(xiàn)刪除子節(jié)點(diǎn)的。
SelectNodes可以獲得所有配置的節(jié)點(diǎn)。
效果
刪除之前
?
刪除之后
?
總結(jié)
以上是生活随笔為你收集整理的Winform中对自定义xml配置文件进行Xml节点的添加与删除的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Winform中自定义xml配置文件后对
- 下一篇: Winform中实现读取xml配置文件并