xml瞭解

   XML便可擴展標記語言(eXtensible Markup Language)。標記是指計算機所能理解的信息符號,經過此種標記,計算機之間能夠處理包含各類信息的文章等。如何定義這些標記,既能夠選擇國際通用的標記語言,好比HTML,也可使用象XML這樣由相關人士自由決定的標記語言,這就是語言的可擴展性。XML是從SGML中簡化修改出來的。它主要用到的有XML、XSL和XPath等。web

  上面這段是對XML的一個基本定義,一個被普遍接受的說明。簡單說,XML就是一種數據的描述語言,雖然它是語言,可是一般狀況下,它並不具有常見語言的基本功能——被計算機識別並運行。只有依靠另外一種語言,來解釋它,使它達到你想要的效果或被計算機所接受數據庫

 

XML應用面主要分爲兩種類型,文檔型和數據型。下面介紹一下幾種常見的XML應用:瀏覽器

 

一、自定義XML+XSLT=>HTML,最多見的文檔型應用之一。XML存放整個文檔的XML數據,而後XSLT將XML轉換、解析,結合XSLT中的HTML標籤,最終成爲HTML,顯示在瀏覽器上。典型的例子就是CSDN上的帖子。服務器

 

二、XML做爲微型數據庫,這是最多見的數據型應用之一。咱們利用相關的XML API(MSXML DOMJAVA DOM等)對XML進行存取和查詢。留言板的實現中,就常常能夠看到用XML做爲數據庫。同時,這裏要告訴一些新人,數據庫和數據庫系統,這兩個概念是不一樣的。這裏順便提一下XML對數據庫系統的影響。在新版本的傳統數據庫系統中,XML成爲了一種數據類型。和「傳統」相對的就是一種新形態的數據庫,徹底以XML相關技術爲基礎的數據庫系統。目前比較知名的eXistide

 

三、做爲信息傳遞的載體。爲何說是載體呢?由於這些應用雖然仍是以XML爲基本形態,可是都已經發展出具備特定意義的格式形態。最典型的就是WEB SERVICE,將數據包裝成XML來傳遞,可是這裏的XML已經有了特定的規格,即SOAP。不過這裏還不得不說AJAXAJAX的應用中,相信也有一部分的應用是以自定義XML爲數據,不過沒有成爲工業標準,這裏不作詳述。函數

 

四、應用程序的配置信息數據。最典型的就是J2EE配置WEB服務器時用的web.XML。這個應用估計是很容易理解的了。咱們只要將須要的數據存入XML,而後在咱們的應用程序運行載入,根據不一樣的數據,作相應的操做。這裏其實和應用2,有點相似,所不一樣的在於,數據庫中的數據變化是個常態,而配置信息每每是較爲靜態,缺乏變化的。性能

 

五、其餘一些文檔的XML格式。如WORD、EXCEL等。spa

 

六、保存數據間的映射關係。如Hibernate。code

 

Java中XML的四種解析方式對象

  

1、DOM解析

 

  DOM的全稱是Document Object Model,也即文檔對象模型。在應用程序中,基於DOM的XML分析器將一個XML文檔轉換成一個對象模型的集合(一般稱DOM樹),應用程序正是經過對這個對象模型的操做,來實現對XML文檔數據的操做。經過DOM接口,應用程序能夠在任什麼時候候訪問XML文檔中的任何一部分數據,所以,這種利用DOM接口的機制也被稱做隨機訪問機制。

  DOM接口提供了一種經過分層對象模型來訪問XML文檔信息的方式,這些分層對象模型依據XML的文檔結構造成了一棵節點樹。不管XML文檔中所描述的是什麼類型的信息,即使是製表數據、項目列表或一個文檔,利用DOM所生成的模型都是節點樹的形式。也就是說,DOM強制使用樹模型來訪問XML文檔中的信息。因爲XML本質上就是一種分層結構,因此這種描述方法是至關有效的。

  DOM樹所提供的隨機訪問方式給應用程序的開發帶來了很大的靈活性,它能夠任意地控制整個XML文檔中的內容。然而,因爲DOM分析器把整個XML文檔轉化成DOM樹放在了內存中,所以,當文檔比較大或者結構比較複雜時,對內存的需求就比較高。並且,對於結構複雜的樹的遍歷也是一項耗時的操做。因此,DOM分析器對機器性能的要求比較高,實現效率不十分理想。不過,因爲DOM分析器所採用的樹結構的思想與XML文檔的結構相吻合,同時鑑於隨機訪問所帶來的方便,所以,DOM分析器仍是有很普遍的使用價值的。

 

2、SAX解析

  SAX的全稱是Simple APIs for XML,也即XML簡單應用程序接口。與DOM不一樣,SAX提供的訪問模式是一種順序模式,這是一種快速讀寫XML數據的方式。當使用SAX分析器對XML文檔進行分析時,會觸發一系列事件,並激活相應的事件處理函數,應用程序經過這些事件處理函數實現對XML文檔的訪問,於是SAX接口也被稱做事件驅動接口。

 

複製代碼

3、JDOM解析

    特徵:

      一、僅使用具體類,而不使用接口。

      二、API大量使用了Collections類。

 

4、DOM4J解析

     特徵:

      一、JDOM的一種智能分支,它合併了許多超出基本XML文檔表示的功能。

      二、它使用接口和抽象基本類方法。

      三、具備性能優異、靈活性好、功能強大和極端易用的特色。

      四、是一個開放源碼的文件

相關文章
相關標籤/搜索