『壹』 xml的優點
XML具有以下特點:
(1) XML可以從HTML中分離數據。即能夠在HTML文件之外將數據存儲在XML文檔中,這樣可以使開發者集中精力使用HTML做好數據的顯示和布局,並確保數據改動時不會導致HTML文件也需要改動,從而方便維護頁面。
XML也能夠將數據以「數據島」的形式存儲在HTML頁面中,開發者依然可以把精力集中到使用HTML格式化和顯示數據上。
(2) XML可用於交換數據。基於XML可以在不兼容的系統之間交換數據,計算機系統和資料庫系統所存儲的數據有多種形式,對於開發者來說,最耗時間的工作就是在遍布網路的系統之間交換數據。把數據轉換為XML格式存儲將大大減少交換數據時的復雜性,還可以使這些數據能被不同的程序讀取。
(3) XML可應用於B2B中。例如在網路中交換金融信息, 目前XML正成為遍布網路的商業系統之間交換信息所使用的主要語言,許多與B2B有關的完全基於XML的應用程序正在開發中。
(4)利用XML可以共享數據。XML數據以純文本格式存儲,這使得XML更易讀、更便於記錄、更便於調試,使不同系統、不同程序之間的數據共享變得更加簡單。
(5) XML可以充分利用數據。XML是與軟體、硬體和應用程序無關的,數據可以被更多的用戶、設備所利用,而不僅僅限於基於HTML標準的瀏覽器。其他客戶端和應用程序可以把XML文檔作為數據源來處理,就像操作資料庫一樣,XML的數據可以被各種各樣的「閱讀器」處理。
(6) XML可以用於創建新的語言。比如,WAP和WML語言都是由XML發展來的。WML(Wireless Markup Language,無線標記語言)是用於標識運行於手持設備上(比如手機)的Intemet程序的工具,它就採用了XML的標准。
XML 無所不在,XML 標准突飛猛進的開發進度,以及大批的軟體開發商採用這個標準的日新月異的速度時,真的是不禁感嘆這真是令人嘆為觀止。目前,XML 在 Web 中起到的作用不會亞於一直作為 Web 基石的 HTML。
XML 無所不在。XML 是各種應用程序之間進行數據傳輸的最常用的工具,並且在信息存儲和描述領域變得越來越流行。
(1)xml技術哪裡好擴展閱讀:
XML 與 HTML 的主要差異:
1、XML 不是 HTML 的替代。
2、XML 和 HTML 為不同的目的而設計:
3、XML 被設計為傳輸和存儲數據,其焦點是數據的內容。
4、HTML 被設計用來顯示數據,其焦點是數據的外觀。
5、HTML 旨在顯示信息,而 XML 旨在傳輸信息。
XML的意思:
1、XML 指可擴展標記語言(EXtensibleMarkupLanguage)
2、XML 是一種標記語言,很類似 HTML
3、XML 的設計宗旨是傳輸數據,而非顯示數據
4、XML 標簽沒有被預定義。您需要自行定義標簽。
5、XML 被設計為具有自我描述性。
6、XML 是W3C 的推薦標准
『貳』 常用的XML解析技術有哪些
常用的XML解析技術有DOM,SAX,STAX等
DOM:處理大型文件時其性能下降非常厲害問題由DOM樹結構所造成種結構佔用內存較多而且DOM必須解析文件之前把整文檔裝入內存,適合對XML隨機訪問SAX:現於DOM,SAX事件驅動型XML解析方式順序讀取XML文件需要次全部裝載整文件當遇像文件開頭文檔結束或者標簽開頭與標簽結束時會觸發事件用戶通過其回調事件寫入處理代碼來處理XML文件適合對XML順序訪問
STAX:Streaming
API
for
XML
(StAX)
『叄』 XML的應用分析
杜富殿
(海南省國土環境資源信息中心,海口,570206)
摘要:數據交換存在於「金土工程」相關的系統、數據、上下級信息傳遞中,以 XML 作為基礎的數據交換形式,可以解決數據交換的安全性、可靠性、靈活性和開放性,為「金土工程」提供簡捷和高效率的數據交換方式。
關鍵詞:「金土工程」;XML;數據交換;數據匯流排
「金土工程」是國土資源信息大廈的框架工程,數據將是該工程的核心內容之一,由於「金土工程」所牽涉的數據內容、數據類型和數據格式等方面的異構問題,數據交換必然是「金土工程」中不可或缺的組成部分。以 XML 為技術基礎的數據匯流排方式,將為「金土工程」各系統、數據、上下級,甚至系統和數據內部的交換提供鬆散耦合、明碼、界線明晰的可擴充性、易維護性、開放性和統一性的數據交換平台。
1 「金土工程」 的數據交換體系
「金土工程」將採用面向服務的技術構架及電子政務平台思想,強調技術的實用性、通用性、可靠性、安全性,保障系統的可擴充性、易維護性、開放性和統一性。
在數據資源建設方面,採用主流 GIS 平台、面向對象型資料庫等技術,按照統一標准建設與整合各類資料庫,通過集中與分布式管理相結合、多級備份和相對獨立的數據管理機制實現數據的統一管理與維護。
在應用系統建設方面,統籌規劃,通過電子政務平台搭建國土資源業務應用系統。
無論在數據資源和應用系統的內部或之間都必須進行數據交換,形成數據交換體系。數據交換體系包括面向基礎資料庫同步與備份的交換系統、面向各級業務信息傳遞的交換系統、面向外部數據共享的交換系統,甚至面向系統內部模塊間的數據交換。
面向基礎資料庫同步與備份的交換系統,主要實現將下級資料庫的更新及時地、自動地同步更新到上級資料庫。
面向各級業務信息傳遞的交換系統,主要是用來實現垂直業務系統上下業務流程間的業務數據交換、統計數據上報、材料上報或下發等。
面向外部數據共享的交換系統,主要實現國土資源系統與外部門間基礎數據有關業務數據的交換。
面向系統內部模塊間的數據交換,主要實現模塊之間數據計算、處理等過程中數據的交換。
數據交換體系必須解決數據交換的安全性、可靠性、靈活性和開放性,採用 XML 技術作為「金土工程」數據交換體系的基礎是一種較佳的選擇。
2 XML 的發展和特點
2.1 XML 的發展
到目前為止,採用 HTML 編寫的 Web 頁面占相當比例。HTML 簡單易學又通用,句法簡明緊湊,加上其擴充的表格、幀、腳本等功能,使得它在 Web 主頁上大顯身手。但是隨著 Web 應用的越來越廣泛,HTML 過於簡單的弱點也越來越明顯了。
(1)鏈路丟失後不能自動糾正 由於許多頁面的 URL 地址經常變化,瀏覽這些頁面時就會遇到煩人的404 URL 地址未找到的信息。不得不手工一個個地更改鏈接相關頁面的 URL地址,這大大加重了 Web 頁面的維護工作量。
(2)動態內容需要下載的部件太多 用 HTML 建立的頁面目前還不能對其頁面的外觀屬性,例如色彩、字體、背景等實現更新,只能重新下載一個新的頁面或 Java 部件。但 Java保存的數據搜索引擎是無法訪問的,所以在 HTML 頁面中使用 Java 來顯示動態內容也不是靈丹妙葯。
(3)搜索時間長 由於 HTML 頁面沒有類似於資料庫的結構,在這樣的文檔資料中搜索目標時需要對全部頁面的所有內容掃描,往往檢索出一大堆與主題詞無關的內容,這是因為HTML 無法區分信息與元信息而造成的。而且 HTML 不支持信息嵌套體系結構,因而限制了全文檢索功能。
(4) HTML 缺乏對雙位元組或多國文字的支持,或者說支持不夠。例如中文信息頁面在不同的平台下會出現格式不齊等問題。
(5)HTML 可擴展性差 科學家無法用 HTML 書寫數學公式、化學方程式以及分子晶體結構。
為解決這些缺點,可擴展標記語言——Extensible Markup Language,簡稱XML應運而生。
1998年2月萬維網協會(W3C)發布了XML1.0 標准,XML是一種元標注語言,該語言提供一種描述結構數據的格式,是W3 C 定義的用於優化Web 上的傳輸的SGML (通用標記語言標准 ISO8879:1986)的子集,XML 確保結構數據是一致的並獨立於應用程序或供應商,可編碼各種情況(從簡單至復雜)的內容,是語義和架構的數據標准。
2.2 XML 的特點
XML 自從出現以來,以其標准化、介面協議、簡化和封裝等優點,被譽為信息標准化過程的有力工具,基於 XML 的標准將成為以後信息標準的主流。
2.2.1 標准化
與其他服務技術相比,標准化是 XML 特色之一。XML 提供了系統之間傳輸數據的標准格式。萬維網聯盟(W3C)管理 XML 標准並發布給全球的 XML 技術提供者,這就確保了 XML 產品的兼容性。除了 XML 引擎和產品外還有 XML 文法(grammar)。每一個XML語法都是一種在某個特定問題領域進行數據格式化的標准方法,遵循並採用 XML 文法,任何人都可以使兩個應用系統間通信的數據格式標准化。
2.2.2 介面協議
在對介面進行編程時經常將它稱之為協議。從編程的角度出發,介面在沒有暴露實現的情況下提供了編程結構。如果使用 DTD (文件類型定義)和大綱(schema),那麼XML 就有類似的特性。DTD 和大綱都用來描述 XML 文檔的結構以及 XML 文檔的建立規則,可以用一個(或者多個)相關 DTD (或者大綱)組織這樣的規則集合,稱之為 XML文法。
XML 文法不僅可以用於應用程序之間通信的標准化,還可以為開發者提供一個介面協議。換句話說,開發者在創建一個需要使用 XML 文檔結構的應用程序時,不需要知道文檔是如何實現的(即實際的 XML 文檔)。DTD 以及大綱描述了文檔的結構,可以作為開發的介面協議,對 DTD 的任何改動同時也改變了協議。
2.2.3 簡化
XML 文檔的另一個重要方面就是它的簡化特性,而是說 XML 的概念和一般方法簡單。例如,XML 是基於文本文檔的,這就簡化了打開 XML文檔並查看其內容的過程。
用 XML 簡化 Web 服務模型很方便,這一點也很重要。Web 服務天然就比單獨的XML要復雜。假設 XML和CORBA同樣復雜,而且其他Web服務技術的復雜度相同,那麼Web服務技術就會變得非常笨重。但是通過使用簡單的搭積木的方法,如XML、SOAP等等,可以控制 Web 服務的復雜度在一個可以容忍的范圍之內,這樣用它創建的應用程序不至於難以控制。
2.2.4 封裝
封裝是XML特性之一,在開發Web服務的時候尤其如此。從本質上來說,封裝指的是獲得一個或者多個數據塊(chunks of data)並把它們集合成一個簡單對象(而不是幾個獨立對象)的概念。封裝與集合(aggregation)類似,但是它們之間有一個重要的差別,即封裝一般意味著它沒有外部依賴性。
可以創建帶有外部依賴性的 XML 文檔,但是在事務 Web 服務模型(transactional Webservices model)中,利用封裝會顯得更加明智。通過設計包裝了依賴性的 XML 解決方案,一般都可以消除事務處理過程中的問題。尤其是在外部數據常常發生變動的情況下,強迫在事務處理中定位外部數據並使其與 XML 數據一致的方法是有害的。如果把數據封裝到XML文法中去,就交易獲得正確的數據。
3 XML 數據匯流排應用分析
3.1 XML 為 「金土工程」 的數據交換搭建匯流排
「金土工程」的各系統和層次之間的數據交換通過開放的 XML 數據匯流排技術實現,XML數據匯流排由四部分的內容組成:發布、集成、分布和自動化,如下圖所示。
XML 數據匯流排圖
發布數據匯流排是將同一數據內容在客戶端根據不同的用戶需求進行不同形式展現的數據交換。通過數據匯流排方式將數據顯示與內容分開,XML 定義的數據允許指定不同的顯示方式,使數據更合理地表現出來。XML 補充了 HTML,逐漸被廣泛地用來描述用戶界面,形成了 HTML 描述數據的外觀,而 XML 描述數據本身。
本地的數據能夠以客戶配置、使用者選擇或其他標准決定的方式動態地表現出來,CSS和 XSL 為數據的顯示提供了公布的機制。通過 XML,數據可以粒狀地更新。每當一部分數據變化後,不需要重發整個結構化的數據。變化的元素必須從伺服器發送給客戶,變化的數據不需要刷新整個使用者的界面就能夠顯示出來。改變了 HTML 方式,只要一條數據變化了,整一頁都必須重建,這嚴重限制了伺服器的性能。
另外,通過 XML 匯流排方式發布的數據還允許加進其他數據,加入的數據能夠進入存在的頁面,不需要瀏覽器重新發一個新的頁面。
集成數據匯流排是系統之間的兩個或更多異質資料庫之間進行數據交換。
系統之間與這些有各自不同的復雜格式的資料庫間通過 XML 標准語言進行交互,這是由於 XML 的自定義性及可擴展性,使其足以表達各種類型的數據。系統收到數據後可以進行處理,也可以在不同資料庫間進行傳遞。XML 解決了數據交換的統一介面問題。
XML 給系統賦予了強大的功能和靈活性。比如進行更有意義的搜索,並且數據被XML 唯一地標識。沒有 XML,搜索工具必須了解每個資料庫是如何構建的,但這實際上是不可能的,因為每個資料庫描述數據的格式幾乎都是不同的。由於不同來源數據的集成問題的存在,現在搜索多樣的不兼容的資料庫實際上是不可能的。通過 XML 數據匯流排的方式能夠使不同來源的結構化的數據很容易地集成在一起,可以在中間層的伺服器上對從後端資料庫和其他系統來的數據進行集成,然後,數據就能被發送到客戶或其他伺服器做進一步的集合、處理和分發,達到資料庫之間的數據交換。
分布數據是通過數據匯流排方式將大部分處理負載從伺服器發布轉到客戶端的數據交換方式。
客戶可根據自己的需求選擇和製作不同的應用系統以處理數據,而伺服器只需發出同一個XML文件。如按傳統的「Client/Server」工作方式,客戶向伺服器發出不同的請求,伺服器分別予以響應,這不僅加重了伺服器本身的負荷,而且網路管理者還須事先調查各種不同的用戶需求以做出相應不同的程序,但假如用戶的需求繁雜而多變,則仍然將所有業務邏輯集中在伺服器端是不合適的,因為伺服器端的服務系統可能來不及滿足眾多的應用需求,也來不及跟上需求的變化,雙方都很被動。應用 XML 數據匯流排的方式則將處理數據的主動權交給了客戶,伺服器所作的只是盡可能完善、准確地將數據封裝進 XML 文件通過匯流排方式進行交換,形成各取所需、各司其職。利用了 XML 的自解釋性使客戶端在收到數據的同時也理解數據的邏輯結構與含義,從而擴展了廣泛、通用的分布式計算方式。
自動化數據匯流排是遵循共同的數據交換標准,使得應用程序具有一定的自動處理能力,以便實現對所取得的信息進行編輯、增減以適應用戶的需要,從而提高工作效率的方式。開發一個典型的國土資源管理應用智能代理程序的步驟如下:①該程序向下一級國土資源管理部門的數據交換系統發出一個數據更新的請求,在得到應答後,自動連接答復中提供的所有所在級國土資源部門的站點;②搜索預定數據的信息,並對獲取到的不同站點針對該內容的信息按一定的規則進行比較;③得出所需要的結果,並自動向所在站點的國土資源管理部門發數據更新的通知。
3.2 XML 數據匯流排的特點
3.2.1 數據交換的安全性
在數據交換中心的設計中採用了 XML 文檔作為數據交換的媒體。對於文檔的加密現在有非常成熟的方法,所以可對 XML 文檔整篇加密,並經過數字簽名認證後安全地發送給一個或多個接收方,數據接收方接收到 XML 數據文檔後經過解密即可使用。
3.2.2 系統的可靠性
在數據交換中心的設計方案中,考慮整個數據交換中心作為一個獨立的應用服務組件存在於國土資源管理部門的信息系統環境中,而不依賴於任何獨立的信息系統,則系統不會受到信息系統意外崩潰的影響。
交換中心與資料庫脫離,即在正常情況下數據交換中心不與任何信息系統或其他專業系統的資料庫進行互操作,所有的數據處理都經由數據的擁有者和請求者進行處理。這種設計方式既保證了各系統的獨立性和安全性,又保證了系統之間的交互性。
數據交換中心存在於應用伺服器環境中,可以利用應用伺服器環境提供的動態負載均衡和失敗恢復功能,保證數據交換中心長期可靠的運行。
3.2.3 系統的靈活性
數據交換中心提供基於消息的數據交換方式和由數據交換中心直接進行數據讀寫兩種數據交換方式,以適應各種系統環境。
基於消息的數據交換方式是數據交換中心的首選方式,在該方式下數據交換中心與支持消息機制方式的系統進行非同步數據交換。數據交換的發起方向數據交換中心提交 XML形式的消息後繼續執行其他任務,直到從數據交換中心收到數據交換完成的消息後,再對要求的數據進行處理。在基於消息的數據交換方式下,數據交換中心對消息進行全程管理,保證消息的接收順序及數據的正確性。
數據交換中心還提供由數據交換中心直接進行數據讀取的數據交換方式,在此方式下,數據交換中心主要與被動提供數據的系統進行交互,那些系統只需要提供數據而不會要求數據,同時系統的構成相對簡單。
3.2.4 系統的開放性
數據交換中心對外提供消息控制 API 和數據轉換協議定製工具,使得任何系統只要通過數據轉換協議定製工具往數據交換中心中添加數據轉換協議,就可以使用數據交換中心提供的消息控制 API 與數據交換中心進行數據交換。
由於 XML 標准具有可擴展性,並且有很強的自描述功能改進了傳統的數據表示方法,不僅非常適於數據交換與信息發布,而且將日益成為顯示、索引等的基礎。現在的資料庫基本都已提供了 XML 轉換工具,因此 XML 文檔非常適合用作跨系統、跨平台的「金土工程」中數據交換,隨著 XML 作為在交換數據的一種標准方式的出現,基於 XML基礎的應用將會更簡捷和擁有更高的效率。
參考文獻
[1]國土資源部.國土資廳發[2004]23 號關於印發《全國金土工程建設總體方案》的通知.2006
[2]Won Kim,Ki-Joon Chae.「Component-Based Knowledge Engineering Architecture.」JOOP,1999
[3]Ritter,D.The Missing Link for D2B E-Commerce.Intelligent Enterprise,1999
[4]高波,王琰,Ben Chang.Oracle,XML 開發手冊,北京:機械工業出版社,2001
[5]XML 中國論壇.「XML 實用進階教程」.北京:清華大學出版社,2001
[6]王仲,陳曉鷗.基於 XML 的數據交換與存取技術研究.計算機工程與應用,2001
[7 ]徐天昕,金燁,李柳玲.基於XML的對稱式Web-EDI 系統的設計與實現,計算機集成製造系統-CIMS,2001
[8]何蓉,方旭明.基於 XML 的電子商務定單處理管道設計.計算機應用,2002