程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第一講 C#-XML開發(5)

C#發現之旅第一講 C#-XML開發(5)

編輯:關於C語言

Page_Load 函數的執行流程為

設置HTTP輸出類型

首先設置HTTP的輸出類型,我們設置輸出的編碼格式為 GB2312,此處使用 GetEncoding(936 ) 就是獲得GB2312的編碼格式。

我們還設置 ContentType 來設置文檔的輸出格式。大家若了解一些HTTP傳輸協議的都知道,ContentType 屬性描述了文檔輸出類型,當文檔傳遞到客戶端時,客戶端浏覽器獲得ContentType屬性值, 查詢注冊表和Windows中注冊的COM信息,獲得該屬性值確定的文件類型,然後使用相應的模 式顯示文檔。比如若設置ContentType屬性為application/vnd.ms-excel ,則客戶端浏覽器 查詢注冊表得知對應的文件類型信息在注冊項目 HKEY_CLASS_ROOT\.xls下面,本地文件類型 為”Excel.Sheet.8”,然後又根據其他信息轉而調用Excel的COM組件來顯示獲得 的HTTP文檔。

從 ContentType屬性的說明我們可以了解,很深入的掌握web開發,有時候是需要了解一些 Windows編程的知識,因為B/S系統的客戶端,也就是各種浏覽器,特別是IE浏覽器就是比較 復雜的Windows程序。

查詢數據庫

設置了HTTP文檔輸出模式後,我們開始輸 出XML文檔內容,首先是連接數據庫,使用了程序目錄下的demomdb.mdb數據庫,執行一個SQL 查詢,獲得一個數據讀取器reader。

使用XmlTextWriter輸出XML文檔

查詢得 到數據後,我們就可以遍歷查詢所得的數據庫記錄,開始輸出XML文檔,此處我們使用 XMLTextWriter輸出文檔。

輸出XML文檔我們有兩種方式,一種是使用XmlTextWriter 輸出,另外一種是從XmlDocument類型開始構造XML文檔對象結構,然後使用XmlDocument的 Save方法輸出XML文檔。兩種方法有各自特點。

使用XmlTextWriter是只寫的向前的快 速輸出XML文檔,而且輸出時不能訪問已經輸出的XML文檔內容,不能修改已經生成的XML文檔 。這種方法速度快,占用內存少,但不夠靈活。

而使用XmlDocument類型構造XML文檔 結構後再輸出XML文檔的方法比較靈活,我們可以隨時訪問和修改已經輸出的XML文檔。這種 方法速度慢,占用內存多,但很靈活。

在這裡我們要嘗試使用XmlTextWriter來輸出 XML文檔,在另外的一個頁碼使用XmlDocument輸出XML文檔。

我們首先在頁面輸出流 上新建一個XmlTextWriter對象,設置它啟動縮進。它的Indentation,IndentChar和 Formating就是控制縮進樣式,具體說明可以查看MSDN。XML文檔縮進是為了改善XML文檔的可 讀性,有縮進的XML文檔便於人們直接閱讀和修改,但對應用程序來說,XML文檔是否有縮進 是沒差別的。

XmlTextWriter是一個基於其他流的針對輸出XML文檔的包裝,它本身不 能打開文件,因此在初始化XmlTextWriter時必須指明底層的輸出對象,輸出對象可以為流或 者文本書寫器。理論上我們可以使用字符串拼湊來生成XML文檔,但實際開發中使用字符串拼 湊XML文檔不是明智之舉,建議使用XMLTextWriter。

我們在web開發中有時會使用字 符串拼湊來生成HTML文檔,由於HTML文檔沒有很嚴格的語法限制,IE浏覽器能解釋劣質的 HTML代碼,因此有時會有開發者這樣字符串拼湊Html文檔,但這會導致代碼比較雜亂,可讀 性不好。而XML文檔具有很嚴格的語法檢查,只要一個XML語法錯誤就會導致整個XML文檔解析 錯誤,因此我們應當使用XmlTextWriter,因此它能幫助我們檢查基本的XML語法,確保我們 能輸出合格的XML文檔。

我們調用WriteStartDocument來開始輸出XML文檔, XmlTextWriter提供了很多配對使用的成員,使用一個方法後需要使用另外一個配對的方法。 比如WriteStartDocument和WriteEndDocument配對,WriteStartElement和WriteEndElement 配對,配對的方法必須成對調用。此處我們使用WriteStartDocument開始書寫Xml文檔,我們 就必須使用WriteEndDocument 來完成輸出XML文檔的。而且在使用XmlTextWriter輸出XML文 檔的時候,WriteStartDocument必須是第一個調用的方法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved