新手學(xué)習(xí)C#常見錯誤_C#讀寫xml文件

大家好,我是華山自控編程朱老師
前幾天一個學(xué)員在學(xué)習(xí)c#讀寫xml文件時。一直沒有真正刪除xml文件的節(jié)點(diǎn),
程序輸出結(jié)果如下:

但是xml文件里面該節(jié)點(diǎn)還是存在,不知道什么原因。
程序代碼截圖如下:

其實(shí)很多初學(xué)者在讀寫xml文件時,都會遇到類似的問題,不知道xml文件如何真正交互,其實(shí)xml文件也是文件,也是遵循文件的基本操作,打開文件,讀寫文件,關(guān)閉保存文件三個步驟,。下面我們就對xml文件類的api進(jìn)行詳細(xì)分析。
問題分析:
這個代碼第202行,XmlNode removeNode = xmlNode.RemoveChild(node); 確實(shí)是有刪除節(jié)點(diǎn)的代碼。
但是這個代碼對xmlnode對象進(jìn)行刪除,也就是它只是一個內(nèi)存的動作。還沒有存儲到磁盤文件上,就是少了一個文件存儲的操作。
解決方法:
在代碼XmlNode removeNode = xmlNode.RemoveChild(node);后面添加文件保存動作:xmlDoc.Save(path);
再次運(yùn)行程序,輸出結(jié)果如下:

其實(shí)對XmlNode對象的添加刪除修改等操作后,都需要有一個文件保存的操作。也就是文件操作的三部曲,打開加載文件,讀寫文件,關(guān)閉保存文件。
以上就是c#讀寫xml文件的一些基本使用和總結(jié),另外在延伸下XmlNode類相關(guān)的知識點(diǎn):
?
MSDN中小結(jié)的具體功能包括:
AppendChild(XmlNode)?
將指定的節(jié)點(diǎn)添加到該節(jié)點(diǎn)的子節(jié)點(diǎn)列表的末尾。
?
Clone()???
創(chuàng)建此節(jié)點(diǎn)的副本。
?
CloneNode(Boolean)???????
當(dāng)在派生類中被重寫時,創(chuàng)建該節(jié)點(diǎn)的副本。
?
當(dāng)前節(jié)點(diǎn)范圍內(nèi)離給定的命名空間 URI 最近的 xmlns 聲明,并返回聲明中定義的前綴。
?
InsertAfter(XmlNode, XmlNode)????
將指定的節(jié)點(diǎn)緊接著插入指定的引用節(jié)點(diǎn)之后。
?
InsertBefore(XmlNode, XmlNode)?
將指定的節(jié)點(diǎn)緊接著插入指定的引用節(jié)點(diǎn)之前。
?
PrependChild(XmlNode)
將指定的節(jié)點(diǎn)添加到該節(jié)點(diǎn)的子節(jié)點(diǎn)列表的開頭。
?
RemoveAll()???
移除當(dāng)前節(jié)點(diǎn)的所有子節(jié)點(diǎn)和/或?qū)傩浴?/p>
?
RemoveChild(XmlNode)
移除指定的子節(jié)點(diǎn)。
?
ReplaceChild(XmlNode, XmlNode)
用 oldChild 節(jié)點(diǎn)替換子節(jié)點(diǎn) newChild。
?
SelectNodes(String)
選擇匹配 XPath 表達(dá)式的節(jié)點(diǎn)列表。
?
SelectNodes(String, XmlNamespaceManager)
選擇匹配 XPath 表達(dá)式的節(jié)點(diǎn)列表。 XPath 表達(dá)式中的任何前綴都使用提供的 XmlNamespaceManager 進(jìn)行解析。
?
SelectSingleNode(String)
選擇匹配 XPath 表達(dá)式的第一個 XmlNode。
?
SelectSingleNode(String, XmlNamespaceManager)
選擇匹配 XPath 表達(dá)式的第一個 XmlNode。 XPath 表達(dá)式中的任何前綴都使用提供的 XmlNamespaceManager 進(jìn)行解析。
?
以上就是初學(xué)者在學(xué)習(xí)c#在操作xml文件時常見的問題。總結(jié)如下:
1:實(shí)例化XmlDocument對象,加載文件,獲取節(jié)點(diǎn)對象,操作節(jié)點(diǎn)(增刪改),保存文件。
最近很多小伙伴找我學(xué)習(xí),然后我根據(jù)二十年自動化控制經(jīng)驗(yàn)精心錄制了全套C#,機(jī)器視覺,運(yùn)動控制卡原創(chuàng)教程,需要的同學(xué),一鍵三連就可以領(lǐng)取,以下是領(lǐng)取入口:
