使用XmlTextWriter物件建立XML檔案

2021-04-17 00:55:45 字數 2697 閱讀 3428

使用xmltextwriter物件建立

xml檔案

引言

隨著xml的普及以及在動態web應用程式中大量應用,如何通過.net建立,刪除,修改xml

檔案變的也來也重要了。乙個簡單的概念是,xml

檔案跟大的文字檔案並沒有什麼區別,同時它是先於.net出現,很多asp的開發者,當他需要程式輸出xml

檔案的時候,通常都是用response.write()方法輸出為xml文件。

使用response.write()的方式來輸出xml文件,並不是一種那麼好的方法,首先,我們用這種方法輸出字元以組成xml

檔案的時候,我們會很擔心輸出的這些字元是不是符合xml規範,不符合xml規範的xml文件將不能得到真確完整的顯示,如:<,>,&"",和'這些符號,當它們在xml

檔案裡的出現的時候,我們必須手工查詢這些不合規範的字元;再次,當我們需要輸出的是乙個包含很多名字空間,屬性和元素的xml

檔案的時候,使用response.write()方法所必須的**將會變得冗長以及可讀性差。

幸運的是,.net framework提供了乙個特別為建立xml

檔案使用的類-system.xml.xmltextwriter,使用這個類來建立xml

檔案,你並不需要擔心輸出是否符合xml規範的問題,同時**將會變得非常簡潔。在這篇文章中,我們將深入的講述如何使用xmltextwriter類來建立xml

檔案。什麼是

xml」和「

xml起步

」這些資料。

xmltextwriter物件簡介

xmltextwriter物件包含了很多可用於在建立xml

檔案時新增元素和屬性到xml

檔案裡的方法,比較重要的有:

writestartdocument()-建立xml

檔案首先就需要用到這個方法,它是在建立xml

檔案的第一行**,用來指定該檔案是xml

檔案以及設定它的編碼型別;

writestartelement(string)-這個方法的作用是在xml

檔案中建立新元素,你可以通過string引數設定元素的名稱(當然了,你還可以使用optional關鍵字指定乙個可選的引數);

writeelementstring(name, text_value)-如果你需要建立乙個除了字元,什麼也沒有的(如不巢狀元素)的元素,你可以使用該方法;

writeendelement()-對應writestartelement(string)方法,作為乙個元素的結尾;

writeenddocument()-xml

檔案建立完成後使用該方法結束;

close()-關閉所有的文字流,把建立的xml

檔案輸出到指定位置。

使用xmltextwriter物件建立

xml檔案,需要在類構造器中指定檔案的型別,而且編碼型別必須是system.text.encoding,如:system.text.encoding.ascii, system.text.encoding.unicode及system.text.encoding.utf8,在xmltextwriter類構造器指定為何種型別,在輸出xml

檔案將以那種流檔案形式輸出。

使用xmltextwriter物件建立乙個簡單的xml

檔案

接下來,我們示範一下如何使用xmltextwriter物件來建立乙個簡單的xml文件,並把它儲存到指定的位置,這個xml

檔案將包含訪問該檔案的使用者的相關資訊,它的輸出格式如下:

url referrer info

user agent referrer info

languages info

visitor's ip address

raw url requested

選用這個有這種結構的xml

檔案為輸出物件,是為了可以在這裡使用所有先前講過的方法,方便闡述。

如下便是建立該xml

首先我們要注意是否有匯入system.xml and system.text命名空間,然後我們在page_load事件中建立乙個xmltextwriter物件例項,並且指定建立的xml

檔案儲存為userinfo.xml

檔案和它的編碼型別為utf8(a translation of 16-bit unicode encoding into 8-bits),然後使用writestartelement(elementname)方法來建立巢狀了其他元素的元素,並以writeendelement()作為結束,此外,我們使用writeelementstring(elementname, textvalue)方法來建立最底層即沒有巢狀其他元素的元素。

在瀏覽器視窗中輸出xml

檔案

先前的例子示範了如何使用xmltextwriter物件建立

xml檔案以及把它儲存為乙個檔案,這個檔案可能是你所需要的,但是有時候,我們需要把建立的xml

檔案在瀏覽器上顯示出來,這個時候,我們可以使用上例**建立userinfo.xml

下面列出了上例修改後的部分**,修改過的**將一些粗體顯示:

<@ page contenttype="text/xml" %>

<%@ import namespace="system.xml" %>

<%@ import namespace="system.text" %>

使用XmlTextWriter生成XML檔案

專案相容需要生成一系列的xml檔案,總結了下xml檔案的生成基本方式 xmltextwriter w new xmltextwriter c xml檔名.xml encoding.unicode 為生成xml檔案的編碼格式,到時候合輸出 w.formatting formatting.indente...

在XmlTextWriter中寫入乙個cdata

在cdata可以用來寫出像 這個樣的html標記或任何其他標記。您不能新增乙個簡單的寫writeelementstring這些標籤的功能。將字元 轉換成 下面的例子給出了使用writeelementstring來寫入乙個cdata區域。首先新增引用 using system.xml 程式中這樣來寫 ...

使用GraphEdit使用

1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....