C#中使用XmlDocument類來創(chuàng)建和修改XML格式的數(shù)據(jù)文件
通過XmlDocument類修改XML文檔數(shù)據(jù),通常需要以下幾個主要步驟或其中幾個步驟。
(1)獲取一個包含XML文檔數(shù)據(jù)的XmlDocument類對象,通常有兩種方法來實現(xiàn)這個功能:
通過XmlDocument類的構(gòu)造函數(shù)創(chuàng)建不包含任何結(jié)點的空對象,常用默認構(gòu)造函數(shù)。
(2)通過XmlDocument類的ChildNodes和Item屬性獲取某個結(jié)點(XmlNode類型),通過XmlNode的Name、Value、InnerText等屬性修改選中結(jié)點的數(shù)據(jù)。
(3)通過XmlDocument類的CreateElement()和CreateAttribute()方法,創(chuàng)建新的元素結(jié)點和屬性結(jié)點,并通過XmlNode的Name、Value、InnerText等屬性設置新結(jié)點的屬性。CreateElement()和CreateAttribute()的常用定義如下。
CreateElement(string name):創(chuàng)建具有指定限定名的元素結(jié)點,其中name表示元素結(jié)點的限定名,返回XmlElement類型對象。
CreateAttribute(string name):創(chuàng)建具有指定限定名的屬性結(jié)點,其中name表示屬性結(jié)點的限定名,返回XmlAttribute類型對象。
(4)通過XmlDocument類的CreateXmlDeclaration()方法創(chuàng)建一個XML文檔說明,并通過XmlDocument.AppendChild()方法添加到XML文檔中。CreateXmlDeclaration()的定義如下。
CreateXmlDeclaration(string version, string encoding, string standalone):創(chuàng)建一 個具有指定版本和編碼的XML文檔說明。其中,version表示版本,encoding表示XML文檔的編碼格式,默認為utf-8,standalone表示是否在XML聲明上寫出獨立屬性,可選yes或no。
(5)通過XmlDocument類的CreateComment()方法創(chuàng)建一個具有指定文本的XML注釋,并通過XmlDocument.AppendChild()方法添加到XML文檔中。
CreateComment(string data):創(chuàng)建包含指定文本的XML注釋,其中data表示注釋的文本內(nèi)容。返回XmlComment類型對象。
(6)通過XmlDocument類的Save()方法保存一個XML文檔數(shù)據(jù)到文件或數(shù)據(jù)流,它包含以下重載版本:
Save(Stream sr):將內(nèi)存中的XML文檔數(shù)據(jù)保存到指定的數(shù)據(jù)流,其中,sr表示一個特定的可以寫入的數(shù)據(jù)流。
Save(string filename):將內(nèi)存中的XML文檔數(shù)據(jù)保存到指定的文件,其中,filename表示XML文件名。
Save(TextWriter tw):將內(nèi)存中的XML文檔數(shù)據(jù)保存到指定的文本數(shù)據(jù)寫入器,其中,tw表示一個文本寫入器對象。
Save(XmlWriter xw):將內(nèi)存中的XML文檔數(shù)據(jù)保存到指定的XML數(shù)據(jù)寫入器,其中,xw表示一個XML數(shù)據(jù)寫入器對象。
簡單例子
寫入文檔:
static void Main(string[] args) { XmlDocument doc = new XmlDocument();//實例化文檔對象 if (File.Exists("student.xml"))//如果文件已存在,載入文檔 { doc.Load("student.xml"); } else//否則 { XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8","yes");//設置聲明 doc.AppendChild(dec); XmlElement root = doc.CreateElement("root");//加入根節(jié)點 doc.AppendChild(root); } XmlElement student = doc.CreateElement("student");//插入一個student節(jié)點 student.SetAttribute("id", "120");//設置id屬性 student.SetAttribute("age", "22");//設置age屬性 student.InnerText = "張三";//設置中間文本 doc.DocumentElement.AppendChild(student);//將student節(jié)點連接在根節(jié)點上 doc.Save("student.xml");//保存文檔 }
執(zhí)行3次后產(chǎn)生的xml文檔:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <root> <student id="120" age="22">張三</student> <student id="120" age="22">張三</student> <student id="120" age="22">張三</student> </root>
上一篇:C#程序中session的基本設置示例及清除session的方法
欄 目:C#教程
本文標題:C#中使用XmlDocument類來創(chuàng)建和修改XML格式的數(shù)據(jù)文件
本文地址:http://mengdiqiu.com.cn/a1/C_jiaocheng/6593.html
您可能感興趣的文章
- 01-10C#通過反射獲取當前工程中所有窗體并打開的方法
- 01-10C#實現(xiàn)Winform中打開網(wǎng)頁頁面的方法
- 01-10C#實現(xiàn)由四周向中心縮小的窗體退出特效
- 01-10Extjs4如何處理后臺json數(shù)據(jù)中日期和時間
- 01-10C#使用Dispose模式實現(xiàn)手動對資源的釋放
- 01-10C#3.0使用EventLog類寫Windows事件日志的方法
- 01-10C#中DataGridView常用操作實例小結(jié)
- 01-10C#編程獲取資源文件中圖片的方法
- 01-10C#使用windows服務開啟應用程序的方法
- 01-10asp.net中XML如何做增刪改查操作


閱讀排行
本欄相關(guān)
- 01-10C#通過反射獲取當前工程中所有窗體并
- 01-10關(guān)于ASP網(wǎng)頁無法打開的解決方案
- 01-10WinForm限制窗體不能移到屏幕外的方法
- 01-10WinForm繪制圓角的方法
- 01-10C#實現(xiàn)txt定位指定行完整實例
- 01-10WinForm實現(xiàn)仿視頻 器左下角滾動新
- 01-10C#停止線程的方法
- 01-10C#實現(xiàn)清空回收站的方法
- 01-10C#通過重寫Panel改變邊框顏色與寬度的
- 01-10C#實現(xiàn)讀取注冊表監(jiān)控當前操作系統(tǒng)已
隨機閱讀
- 01-10C#中split用法實例總結(jié)
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 04-02jquery與jsp,用jquery
- 01-10delphi制作wav文件的方法
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10SublimeText編譯C開發(fā)環(huán)境設置