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

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

編輯:關於C語言

國際標准的意義

在這裡說明一下國際標准的意義。

所謂國際 標准就是某個權威的非營利性的國際組織,其立場中立,不代表某個具體的公司,而是代表 整個業界。它針對某項普遍使用的技術出台一些規范和標准。而各個具體的軟件廠商在運用 這項技術時自覺遵守這套國際標准。這樣能方便各個系統之間交流數據,保障異構系統進行 集成,並保持數據結構的長期穩定性和兼容性。這樣的國際組織有ISO,ECMA和W3C等等。

我們使用到的一些技術都已經成為國際標准,例如SQL,JavaScript,C#,Html,XML ,XSLT,HTTP等很多技術。

國際標准具有一些特點,首先是穩定性和連貫性,國際標 准一旦正式發布,就保持了相當的穩定性,其內容只能慎重的增加而不能刪減,國際標准組 織不會輕易修改已經正式發布的國際標准,而且在修改標准時會充分考慮到各種因素,保證 向上和向下的兼容性,能最大程度的保障業界在舊標准上的投資。而且這些國際組織發布國 際標准時有時會事先提出標准的修訂計劃。

其次國際標准是全球業界都遵守的,雖然 沒有強制遵守的機制,但絕大多數軟件廠商都會遵守或者努力遵守這些國際標准。而且國際 標准組織的成員有很多大軟件廠商,比如W3C的成員就有微軟,IBM,SUN等大公司。因此國際 標准是代表了最廣大軟件業界的根本利益,代表了最先進的軟件生產力。

對於應用軟 件開發商,充分的運用國際標准能很大程度的保護客戶在IT系統上的投資。由於國際標准具 有相當的穩定性和連貫性,若客戶IT系統充分的使用了這些國際標准,則在升級到新標准時 能獲得很好的兼容性。IT系統不用推倒重來,這樣能保護客戶在已有系統上的投資。

作為軟件開發人員,也應當了解這些國際標准,首先是能比較容易的實現異構系統的集成, 並能獲得比較好的系統兼容性和可維護性。而且軟件開發人員在切換開發平台,比如從Java 轉移到.Net平台上時,以前學習國際標准的投資就會得到保護,而遵守相同標准的源代碼的 移植和翻譯也是低成本的。

DOT.Net框架對XML的支持

.NET框架提供了對XML 的強大支持,而且.Net框架本身也普遍采用XML格式來存儲各種配置信息。比如web.config文 件。

在.Net類庫中,名稱空間System.Xml下面就包含了大量的操作XML文檔的類型。 這些類型構成了兩種XML文檔的處理模型。

流式處理模型

在流式處理模型中 ,我們將XML文檔做作一個數據流來進行處理,我們將逐個處理XML文檔中的數據,在這種模 型下,我們可以只讀的快速讀取大體積的XML文檔,而且內存占用少,程序性能好。類型 System.Xml.XmlReader就提供了流式處理模型,使用XmlReader就可以快速讀取XML文檔。

使用流式處理模型是有缺點的,首先是它只能讀取XML文檔,不能修改XML文檔;其次 是檢索XML文檔內容不方便,不能使用XPath技術;而且編程接口比較簡單,處理XML文檔不夠 方便。當程序需要比較簡單的從XML文檔讀取數據則可以采用流式處理模型。

DOM處理 模型

在DOM處理模型中,我們首先是使用文檔對象模型的思想解析整個XML文檔,在 內存中生成一個對象樹來表述XML文檔。比如使用一個XmlElement對象來影射到XML文檔中的 一個元素,使用XmlAttribute對象來影射到XML文檔中的一個屬性。這樣我們編程操作內存中 的對象就影射為操作XML文檔。

使用DOM處理XML文檔具有相當大的優點,首先是處理 方便,我們可以使用各種編程技巧來處理XML文檔對象樹狀結構,比如可以遞歸遍歷XML文檔 的一部分或全部,可以向樹狀結構插入,修改或刪除XML元素,可以設置XML元素的屬性。

在DOM模式下,我們可以使用XPath技術在XML文檔樹狀結構中進行快速檢索和定位, 這為處理XML文檔帶來比較大的方便。

在C#中,我們可以很簡單的使用DOM方式處理 XML文檔。我們首先實例化一個System.Xml.XmlDocument類型,調用它的Load方法既可加載 XML文檔並生成XML節點對象樹狀結構,然後我們就可以遍歷這個對象樹,新增修改和刪除節 點,而且其中的任意一個節點都可以使用SelectNodes或SelectSingleNode方法通過XPath相 對路徑快速查找其它的節點。

在名稱空間System.Xml下面大部分類型都是用來支持 DOM處理模型的。其中很多類型配合起來共同組織成XMLDOM,XMLDOM是一種很典型的文檔對象 模型的應用。文檔對象模型是一種比較高級的軟件設計模式,我會在今後的課程中詳細介紹 文檔對象模型這種軟件設計模式。

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