XML入門常見問題(1)(轉)
一般問題
什麼是 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 頁面。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-950384/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 新手入門 Golang 常見問題Golang
- Nginx入門到實戰(4)常見問題Nginx
- 前端入門-day2(常見css問題及解答)前端CSS
- PHP 安全問題入門:10 個常見安全問題 + 例項講解PHP
- 常見問題
- WPS Office Mac登入常見問題問答Mac
- 把TXT文字匯入SQLServer常見問題SQLServer
- IPv6轉換常見問題盤點
- js常見問題JS
- Homestead 常見問題
- Apache 常見問題Apache
- Linux 常見問題Linux
- Git 常見問題Git
- PHP 常見問題PHP
- swiper常見問題
- Composer 常見問題
- HTML常見問題HTML
- Git常見問題Git
- 前端常見問題前端
- 【Nginx】常見問題Nginx
- ndk 常見問題
- CSS常見問題CSS
- nginx 常見問題Nginx
- Mysql:常見問題MySql
- XSS常見問題
- MyBatis常見問題MyBatis
- java 常見問題Java
- 小程式讀書筆記(1)常見問題筆記
- 雲大使推廣中的常見熱門問題
- Docker常見面試題及答案!Linux入門教程Docker面試題Linux
- Android Studio常見問題(+)Android
- weex常見問題解析
- sonar常見問題分析
- CSS效果常見問題CSS
- 前端常見問題 - vue前端Vue
- JMeter—常見問題(十四)JMeter
- APatch常見問題解答
- 字串混淆常見問題字串
- RapidWeaver 8常見問題API