使用XmlTextWriter物件建立XML檔案 (轉)

worldblog發表於2008-01-29
使用XmlTextWriter物件建立XML檔案 (轉)[@more@]

  使用TextWriter建立XML

引言
  隨著XML的普及以及在動態應用中大量應用,如何透過建立,刪除,修改XML檔案變的也來也重要了。一個簡單的概念是,XML檔案跟大的文字檔案並沒有什麼區別,同時它是先於.NET出現,很多的開發者,當他需要程式輸出XML檔案的時候,通常都是用Response.Write()方法輸出為XML文件。
  使用Response.Write()的方式來輸出XML文件,並不是一種那麼好的方法,首先,我們用這種方法輸出字元以組成XML檔案的時候,我們會很擔心輸出的這些字元是不是符合XML規範,不符合XML規範的XML文件將不能得到真確完整的顯示,如:,&"",和'這些符號,當它們在XML檔案裡的出現的時候,我們必須手工查詢這些不合規範的字元;再次,當我們需要輸出的是一個包含很多名字空間,屬性和元素的XML檔案的時候,使用Response.Write()方法所必須的程式碼將會變得冗長以及可讀性差。
  幸運的是,.NET 提供了一個特別為建立XML檔案使用的類-System.Xml.XmlTextWriter,使用這個類來建立XML檔案,你並不需要擔心輸出是否符合XML規範的問題,同時程式碼將會變得非常簡潔。在這篇文章中,我們將深入的講述如何使用XmlTextWriter類來建立XML檔案。

    關於XML的說明
  這篇文章假定讀者具備一定的XML基礎,如果你剛接觸XML,我建議你在繼續閱讀本文之前,首先去看看“
”和“romrolla.com/webtech/051000-1.shtml">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 address
  raw URL requested
 


選用這個有這種結構的XML檔案為輸出物件,是為了可以在這裡使用所有先前講過的方法,方便闡述。
 
如下便是建立該XML檔案所需的程式碼:


相關文章