作者:AngelGavin 出處:CSDN
一般問題
什麼是XML?
可擴充標記語言(XML) 是Web 上的資料通用語言。它使開發人員能夠將結構化數據,從許多不同的應用程式傳遞到桌面,進行本地計算和演示。 XML 允許為特定應用程式建立唯一的資料格式。它還是在伺服器之間傳輸結構化資料的理想格式。
什麼是MSXML?
MSXML 是提供核心XML 服務的Microsoft 軟體元件。
Microsoft XML 分析器能夠做些什麼?
最新版本的Microsoft 核心XML 服務提供以下四種不同的功能。
基於文件物件模型(DOM) 的分析器,它能夠取得文字流(能夠轉換到XML 的檔案、程式中的字串或任何其他文字)並將它轉換為能夠程式設計處理的可導航XML 樹結構。
SAX(Simple API for XML)分析器,它針對處理大型文件和高吞吐量的情況進行了最佳化的。 SAX 是基於事件的分析器,它讀取文件並將分析事件(例如元素的開始和結尾)直接報告給應用程式。使用者建立的應用程式實作了處理不同事件的處理程序,這非常類似於處理圖形使用者介面(GUI) 中的事件。
XSLT 處理器讀取XSLT 文件,並將可擴充樣式表轉換語言(XSLT) 檔案的指令套用到XML 文件,以產生某些類型的輸出。除了創建XML結構之外,XSLT 處理器還可以在得到的XSLT 過濾器上執行一定程度的最佳化,另外,從技術的角度來看,它更像是一種編譯器。
驗證分析器讀取文件類型定義(DTD) 或XML 架構,然後檢驗實際得到的文件的格式是否正確,以及是否不包含與架構衝突的資料。請注意,僅對架構而言,驗證架構將返回架構本身作為對象,可以在以後在HTML 列錶框中建立選項時引用這個對象。
所有四種功能都包含在同一MSXML 庫軟體包中,它可以從MSDN XML 開發人員中心(英文)免費取得。
MSXML、MSXML2 和MSXML3 之間的差異是什麼?
在過去三年中XML 經歷了許多反复,所以目前存在不同版本的Microsoft XML 分析器也不奇怪。 Internet Explorer 4.0 包含早期版本的XML 分析器,它比XSL、XML 資料或大多數其他的XML 技術(並且有完全不同的DOM 模型)要早。此早期版本的分析器包含在MSXML.dll 庫中。從MSDN XML 開發人員中心(英文)可將分析器升級到較新的一種。
我們極力建議您升級到新的分析器,因為它要強大得多。 Internet Explorer 5.0 包含MSXML 2.0 分析器,它包含XSL 和XML 架構的基本版本。 MSXML2 是SQL Server 2000 隨附的分析器版本。 MSXML2 包含了許多效能增強的功能,並且在整體上提高了效能和可擴展性。 MSXML3 是目前作為「技術預覽」附帶的版本。 MSXML3 包含XSLT 和XPath 支援以及SAX 介面。
XML 可以取代HTML 嗎?
XML 比HTML 提供更大的彈性,但它不可能很快取代HTML。實際上,XML 和HTML 能夠很好地在一起工作。 Microsoft 希望許多作者和開發人員都能同時使用XML 和HTML,例如用XSLT 來產生HTML。
在HTML 中增加XML 的好處是什麼?
在Web 上使用XML 的好處有:
它提供用於本地運算的資料。傳遞到桌面的資料可以進行本地計算。 XML 分析器可以讀取數據,並將它遞交給本機應用程式(例如瀏覽器)以進一步查看或處理。資料也可以由使用XML 物件模型的腳本或其他程式語言來處理。
向使用者提供正確的結構化資料視圖。傳遞到桌面的資料可以以多種方式表示。本地資料集,可以根據使用者喜好和配置等因素,以適當的形式,在視圖中動態表現給使用者。
允許整合不同來源的結構化資料。一般情況下,使用代理,在中間層伺服器上整合來自後端資料庫和其他應用程式的數據,使該資料能夠傳遞給桌面或其他伺服器,做進一步聚合、處理和分佈。
描述來自多種應用程式的數據。由於XML 是可擴展的,因此它可以用於描述來自多種應用程式的數據,從描述Web 頁面集合到數據記錄。由於資料是自描述的,因此不需要資料的內建描述,也能夠接收和處理資料。
透過粒度更新來提高效能。 XML 允許粒度更新。開發人員不必在每次有改動時都會傳送整個結構化資料集。有了粒度更新後,只有改變的元素必須從伺服器傳送到客戶機。改變的資料可以在不必刷新整個頁面或表格的情況下顯示。
XML 只適用於核心開發人員嗎?
不。和HTML 文件一樣,XML 文件可以由任何人創建— 甚至是沒有任何程式設計經驗的人。 XML 只是一種描述資訊的標準方式。此外,它也是一種語言,可以在沒有任何軟體的情況下用它來編寫。您可以在文字編輯器中編寫XML 文檔,並且直接放入Web 站點,不需要編寫傳統方式下的任何程式碼。
開始使用XML 時需要什麼?
要使用XML,您需要能夠讀取XMl 文件的XML 分析器,並且使它的內容能被處理。 Microsoft 提供了一個分析器,可以從MSDN XML 開發人員中心(英文)下載。
若要使用XML 文檔,可以使用文字編輯器(例如記事本)或任何其他可以用於建立HTML 頁面的編輯器。若要建立完整形式的XML 應用程序,請使用諸如Microsoft? Visual Studio? 的程式設計環境。
有如何使用XML 的實際範例嗎?
XML 正在數量驚人的應用程式中使用,範圍從Web 網站建立和文件化到資料庫整合和分散式程式設計。在下面幾個領域中,XML 有其用武之地:
業務對業務的傳輸。業務資料(發票、購買定單、會計和稅務資訊等等)是以XML 格式在廠商之間電子傳輸的。與舊的電子資料交換(EDI) 格式相比,XML 提供了許多優點,而不僅僅是可以在傳輸中從一種發票格式轉換到另一種發票格式。
分散式程式設計。 XML 是非常理想的複雜多平台應用程式建構方案,這使得Windows 伺服器和其他作業系統的整合成為可能。
Web 網站體系結構。由於XML 的層次結構和分散特性,Web 網站開發人員在他們Web 網站的整體體系結構和導航結構中越來越多地使用它。此外,越來越多的目錄表和索引表、追蹤使用者資訊及Web 網站狀態的XML 結構、基於HTML 的元件和處理資料流的管道,都以XML 和XSLT 編寫。
資料庫操作。 XML 正成為與資料庫互動的熱門工具— 無論從SQL 查詢中檢索XML 資料集,或是以XML 記錄更新資料庫。而且我們還有分離實現的優點。將資料壓縮為SML,就不需要對實際的資料庫結構有任何了解。
文件管理。目前大多數的公司都陷在文書工作的海洋裡,而且會越來越糟。 XML 正在越來越多地用於將文件編碼成XML,使文件更易於檢索或提供連結到文件的註釋上下文,以便更有效地進行參考。
我可以忽略XML 嗎?
如果您想在Internet 世界中競爭的話,那就不可以忽略XML。 XML 是導致以我們考慮程式設計本身的方式進行模式轉移的一種語言。傳統的專用客戶機/伺服器應用程序,正在為「隨時隨地存取」的Internet 服務讓位,XML 是處理任何事情(從資料存取處理到在該新環境中表現資料)的邏輯媒體。
Microsoft Internet Explorer 4.0 支援XML 嗎?
是的。 Internet Explorer 4.0 支援XML 下列功能:
通用的XML 分析器,它會讀取XML 檔案並將它們傳遞到應用程式(例如檢視器)進行處理。應用程式開發人員可以使用Microsoft 的兩個分析器:C++ 中的Microsoft XML 分析和Java 中的Microsoft XML 分析器。
XML 物件模型(XML OM) 使用World Wide Web Consortium (W3C) 標準文件物件模型(DOM) 允許程式透過XML 分析器存取結構化數據,使開發人員擁有互動和計算資料的能力。有關詳細信息,請參見DOM 規範(英文) 。
XML 資料來源物件(XML DSO) 允許開發人員連接到結構化XML 數據,並以動態HTML 的資料綁定機制將它提供給HTML 頁面。