淺談C#編寫(xiě)XML文檔
這里說(shuō)一說(shuō)如何在C#編寫(xiě)XML文檔,起初我覺(jué)得用編程的方式去編寫(xiě)XML簡(jiǎn)直就是自討苦吃,后來(lái)想想還是覺(jué)得挺有用的,我想Microsoft那班家伙能編出這些類(lèi)來(lái)應(yīng)該不是僅僅為了向比爾蓋茨交差吧!至于它的用處嘛……比如說(shuō)做安裝程序??!我們可以根據(jù)在安裝過(guò)程中用戶(hù)所選的選項(xiàng)以及一些設(shè)置來(lái)生成相應(yīng)的XML文檔再根據(jù)XML文檔來(lái)初始化我們的應(yīng)用程序??斩吹脑?huà)不說(shuō)那么多了,下面我們來(lái)了解一下具體的實(shí)現(xiàn)細(xì)節(jié)。
要C#編寫(xiě)XML文檔同樣是采用流的概念,在.NET編寫(xiě)XML的細(xì)節(jié)是作為XmlWriter類(lèi)來(lái)實(shí)現(xiàn)的,但該類(lèi)是抽象類(lèi)不能夠?qū)嵗?,為此,我們要想在程序中訪(fǎng)問(wèn)它的方法以實(shí)現(xiàn)編寫(xiě) XML的愿望,必需使用它的派生類(lèi)XmlTextWriter,該類(lèi)提供了一系列的屬性和方法為我們的C#編寫(xiě)XML做準(zhǔn)備,下面將詳細(xì)的介紹這個(gè)類(lèi):
構(gòu)造函數(shù):
- public XmlTextWriter(TextWriter);
- public XmlTextWriter(Stream, Encoding);
- public XmlTextWriter(string, Encoding);
第一個(gè)構(gòu)造函數(shù)是把現(xiàn)有的TextWriter實(shí)例傳遞過(guò)去,System.IO.TextWriter類(lèi)是一個(gè)有序的字符流
第二個(gè)構(gòu)造函數(shù)是把要寫(xiě)入的流作為第一個(gè)參數(shù),第二個(gè)參數(shù)是指定XML文檔的編碼方式,默認(rèn)是UTF8,可取Encoding的枚舉值,流可以是FileStream,MemoryStream,NetworkStream等等
第三個(gè)構(gòu)造函數(shù)是把希望寫(xiě)入的文件名當(dāng)作一個(gè)字符串(如果存在,就重寫(xiě)該文件)傳遞給第一個(gè)參數(shù),第二個(gè)參數(shù)指定編碼方式
常用的方法:
WriterStartDocument()和WriterEndDocument()方法:
第一個(gè)方法用來(lái)編寫(xiě)XML聲明部分,如:< ?xml version=”1.0” encoding=”UTF-8” ?>
第二個(gè)方法用來(lái)關(guān)閉任何打開(kāi)的元素或?qū)傩圆⒕帉?xiě)器重新設(shè)置為 Start 狀態(tài)。
WriterStartElement()和WriteEndElement()方法:
該方法有以下幾個(gè)重載:
- WriterStartElement(string localname)
以上介紹C#編寫(xiě)XML文檔
【編輯推薦】