明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

XML 中的經(jīng)常見問題 (一)

[摘要]一般問題 什么是 XML? 可擴(kuò)展標(biāo)記語言 (XML) 是 Web 上的數(shù)據(jù)通用語言。它使開發(fā)人員能夠?qū)⒔Y(jié)構(gòu)化數(shù)據(jù),從許多不同的應(yīng)用程序傳遞到桌面,進(jìn)行本地計(jì)算和演示。XML 允許為特定應(yīng)用程序創(chuàng)建唯一的數(shù)據(jù)格式。它還是在服務(wù)器之間傳輸結(jié)構(gòu)化數(shù)據(jù)的理想格式。 什么是 MSXML...
一般問題

    什么是 XML?

    可擴(kuò)展標(biāo)記語言 (XML) 是 Web 上的數(shù)據(jù)通用語言。它使開發(fā)人員能夠?qū)⒔Y(jié)構(gòu)化數(shù)據(jù),從許多不同的應(yīng)用程序傳遞到桌面,進(jìn)行本地計(jì)算和演示。XML 允許為特定應(yīng)用程序創(chuàng)建唯一的數(shù)據(jù)格式。它還是在服務(wù)器之間傳輸結(jié)構(gòu)化數(shù)據(jù)的理想格式。

    什么是 MSXML?

    MSXML 是提供核心 XML 服務(wù)的 Microsoft 軟件組件。

    Microsoft XML 分析器能夠做什么?

    最新版本的 Microsoft 核心 XML 服務(wù)提供下面四種不同的功能。

    基于文檔對(duì)象模型 (DOM) 的分析器,它能夠獲取文本流(能夠轉(zhuǎn)換到 XML 的文件、程序中的字符串或者任何其他文本)并將它轉(zhuǎn)換為能夠編程處理的可導(dǎo)航 XML 樹結(jié)構(gòu)。

    SAX(Simple API for XML)分析器,它針對(duì)處理大型文檔和高吞吐量的情況進(jìn)行了優(yōu)化的。SAX 是基于事件的分析器,它讀取文檔并將分析事件(例如元素的開始和結(jié)尾)直接報(bào)告給應(yīng)用程序。用戶創(chuàng)建的應(yīng)用程序?qū)崿F(xiàn)了處理不同事件的處理程序,這非常類似于處理圖形用戶界面 (GUI) 中的事件。

    XSLT 處理器讀取 XSLT 文件,并將可擴(kuò)展樣式表轉(zhuǎn)換語言 (XSLT) 文件的指令應(yīng)用到 XML 文件,以產(chǎn)生某些類型的輸出。除了創(chuàng)建 XML結(jié)構(gòu)之外,XSLT 處理器還可以在得到的 XSLT 過濾器上執(zhí)行一定量的優(yōu)化,另外,從技術(shù)的角度看,它更像是一種編譯器。

    驗(yàn)證分析器讀取文檔類型定義 (DTD) 或者 XML 架構(gòu),然后檢驗(yàn)實(shí)際得到的文檔的格式是否正確,以及是否不包含與架構(gòu)沖突的數(shù)據(jù)。請(qǐng)注意,僅對(duì)架構(gòu)而言,驗(yàn)證架構(gòu)將返回架構(gòu)本身作為對(duì)象,可以在以后在 HTML 列表框中創(chuàng)建選項(xiàng)時(shí)引用這個(gè)對(duì)象。

    所有四種功能都包含在同一 MSXML 庫軟件包中,它可以從 MSDN XML 開發(fā)人員中心(英文)免費(fèi)得到。

    MSXML、MSXML2 和 MSXML3 之間的區(qū)別是什么?

    在過去三年中 XML 經(jīng)歷了許多反復(fù),所以目前存在不同版本的 Microsoft XML 分析器也不奇怪。Internet Explorer 4.0 包含早期版本的 XML 分析器,它比 XSL、XML 數(shù)據(jù)或者大多數(shù)其他的 XML 技術(shù)(并且有完全不同的 DOM 模型)要早。該早期版本的分析器包含在 MSXML.dll 庫中。從 MSDN XML 開發(fā)人員中心(英文)可將分析器升級(jí)到較新的一種。

    我們極力建議您升級(jí)到新的分析器,因?yàn)樗獜?qiáng)大得多。Internet Explorer 5.0 包括 MSXML 2.0 分析器,它包含 XSL 和 XML 架構(gòu)的基本版本。MSXML2 是 SQL Server 2000 附帶的分析器版本。MSXML2 包含了許多性能增強(qiáng)的功能,并且在總體上提高了性能和可伸縮性。MSXML3 是當(dāng)前作為“技術(shù)預(yù)覽”附帶的版本。MSXML3 包括 XSLT 和 XPath 支持以及 SAX 接口。

    XML 可以代替 HTML 嗎?

    XML 比 HTML 提供更大的靈活性,但是它不可能很快代替 HTML.實(shí)際上,XML 和 HTML 能夠很好地在一起工作。Microsoft 希望許多作者和開發(fā)人員都能同時(shí)使用 XML 和 HTML,比如用 XSLT 來生成 HTML.

    在 HTML 中增加 XML 的好處是什么?

    在 Web 上使用 XML 的好處有:

    它提供用于本地計(jì)算的數(shù)據(jù)。傳遞到桌面的數(shù)據(jù)可以進(jìn)行本地計(jì)算。XML 分析器可以讀取數(shù)據(jù),并將它遞交給本地應(yīng)用程序(例如瀏覽器)進(jìn)一步查看或處理。數(shù)據(jù)也可以由使用 XML 對(duì)象模型的腳本或其他編程語言來處理。

    向用戶提供正確的結(jié)構(gòu)化數(shù)據(jù)視圖。傳遞到桌面的數(shù)據(jù)可以以多種方式表示。本地?cái)?shù)據(jù)集,可以根據(jù)用戶喜好和配置等因素,以適當(dāng)?shù)男问,在視圖中動(dòng)態(tài)表現(xiàn)給用戶。

    允許集成不同來源的結(jié)構(gòu)化數(shù)據(jù)。一般情況下,使用代理,在中間層服務(wù)器上集成來自后端數(shù)據(jù)庫和其他應(yīng)用程序的數(shù)據(jù),使該數(shù)據(jù)能夠傳遞給桌面或者其他服務(wù)器,做進(jìn)一步聚合、處理和分布。

    描述來自多種應(yīng)用程序的數(shù)據(jù)。由于 XML 是可擴(kuò)展的,因此它可以用于描述來自多種應(yīng)用程序的數(shù)據(jù),從描述 Web 頁面集合到數(shù)據(jù)記錄。由于數(shù)據(jù)是自描述的,因此不需要數(shù)據(jù)的內(nèi)置描述,也能夠接收和處理數(shù)據(jù)。

    通過粒度更新來提高性能。XML 允許粒度更新。開發(fā)人員不必在每次有改動(dòng)時(shí)都發(fā)送整個(gè)結(jié)構(gòu)化數(shù)據(jù)集。有了粒度更新后,只有改變的元素才必須從服務(wù)器發(fā)送到客戶機(jī)。改變的數(shù)據(jù)可以在不必刷新整個(gè)頁面或表的情況下顯示。

    XML 只適用于核心開發(fā)人員嗎?

    不。和 HTML 文檔一樣,XML 文檔可以由任何人創(chuàng)建 — 甚至是沒有任何編程經(jīng)驗(yàn)的人。XML 僅僅是一種描述信息的標(biāo)準(zhǔn)方式。此外,它還是一種語言,可以在沒有任何軟件的情況下用它來編寫。您可以在文本編輯器中編寫 XML 文檔,并且直接放入 Web 站點(diǎn),不需要編寫傳統(tǒng)方式下的任何代碼。

    開始使用 XML 時(shí)需要什么?

    要使用 XML,您需要能夠讀取 XMl 文檔的 XML 分析器,并且使它的內(nèi)容能被處理。Microsoft 提供了一種分析器,可以從 MSDN XML 開發(fā)人員中心(英文)下載。

    要使用 XML 文檔,可以使用文本編輯器(例如記事本)或任何其他可以用于創(chuàng)建 HTML 頁面的編輯器。要?jiǎng)?chuàng)建完整形式的 XML 應(yīng)用程序,請(qǐng)使用諸如 Microsoft? Visual Studio? 的編程環(huán)境。


[page_break] 有如何使用 XML 的實(shí)際例子嗎?

    XML 正在數(shù)量驚人的應(yīng)用程序中使用,范圍從 Web 站點(diǎn)創(chuàng)建和文檔化到數(shù)據(jù)庫集成和分布式編程。在下面幾個(gè)領(lǐng)域中,XML 有其用武之地:

    業(yè)務(wù)對(duì)業(yè)務(wù)的傳輸。業(yè)務(wù)數(shù)據(jù)(發(fā)票、購(gòu)買定單、會(huì)計(jì)和稅務(wù)信息等等)是以 XML 格式在廠商之間電子傳輸?shù)。與舊的電子數(shù)據(jù)交換 (EDI) 格式相比,XML 提供了許多優(yōu)點(diǎn),而不僅僅是可以在傳輸中從一種發(fā)票格式轉(zhuǎn)換到另一種。

    分布式編程。XML 是非常理想的復(fù)雜多平臺(tái)應(yīng)用程序構(gòu)造方案,這樣就使得 Windows 服務(wù)器和其他操作系統(tǒng)的集成成為可能。

    Web 站點(diǎn)體系結(jié)構(gòu)。由于 XML 的層次結(jié)構(gòu)和分布式特性,Web 站點(diǎn)開發(fā)人員在他們 Web 站點(diǎn)的總體體系結(jié)構(gòu)和導(dǎo)航結(jié)構(gòu)中越來越多地使用它。此外,越來越多的目錄表和索引表、跟蹤用戶信息及 Web 站點(diǎn)狀態(tài)的 XML 結(jié)構(gòu)、基于 HTML 的組件和處理數(shù)據(jù)流的渠道,都用 XML 和 XSLT 編寫。

    數(shù)據(jù)庫操作。XML 正成為與數(shù)據(jù)庫交互的流行工具 — 無論從 SQL 查詢中檢索 XML 數(shù)據(jù)集,還是用 XML 記錄更新數(shù)據(jù)庫。而且我們還有分離實(shí)現(xiàn)的優(yōu)點(diǎn)。通過將數(shù)據(jù)壓縮為 SML,就不需要對(duì)實(shí)際的數(shù)據(jù)庫結(jié)構(gòu)有任何了解。

    文檔管理。目前的大多數(shù)公司都陷在文書工作的海洋里,而且會(huì)越來越糟。XML 正在越來越多地用于將文檔編碼成 XML,使文檔更易于檢索或提供鏈接到文檔的注釋上下文,以便更有效地進(jìn)行參考。

    我可以忽略 XML 嗎?

    如果您想在 Internet 世界中競(jìng)爭(zhēng)的話,那就不可以忽略 XML.XML 是導(dǎo)致以我們考慮編程本身的方式進(jìn)行模式轉(zhuǎn)移的一種語言。傳統(tǒng)的專用客戶機(jī)/服務(wù)器應(yīng)用程序,正在給“隨時(shí)隨地訪問”的 Internet 服務(wù)讓位,XML 是處理任何事情(從數(shù)據(jù)訪問處理到在該新環(huán)境中表現(xiàn)數(shù)據(jù))的邏輯媒體。

    Microsoft Internet Explorer 4.0 支持 XML 嗎?

    是的。Internet Explorer 4.0 支持 XML 下列功能:

    通用的 XML 分析器,它讀取 XML 文件并將它們傳遞到應(yīng)用程序(例如查看器)進(jìn)行處理。應(yīng)用程序開發(fā)人員可以使用 Microsoft 的兩個(gè)分析器:C++ 中的 Microsoft XML 分析和 Java 中的 Microsoft XML 分析器。

    XML 對(duì)象模型 (XML OM) 使用 World Wide Web Consortium (W3C) 標(biāo)準(zhǔn)文檔對(duì)象模型 (DOM) 允許程序通過 XML 分析器訪問結(jié)構(gòu)化數(shù)據(jù),使開發(fā)人員擁有交互和計(jì)算數(shù)據(jù)的能力。有關(guān)詳細(xì)信息,請(qǐng)參見 DOM 規(guī)范(英文) .

    XML 數(shù)據(jù)源對(duì)象 (XML DSO) 允許開發(fā)人員連接到結(jié)構(gòu)化 XML 數(shù)據(jù),并用動(dòng)態(tài) HTML 的數(shù)據(jù)綁定機(jī)制將它提供給 HTML 頁面。