XML的一些概念和原理
一、概念
可擴充套件標記語言 (Extensible Markup Language, XML) ,用於標記電子檔案使其具有結構性的標記語言,可以用來標記資料、定義資料型別,是一種允許使用者對自己的標記語言進行定義的源語言。 XML是標準通用標記語言 (SGML) 的子集,非常適合 Web 傳輸。XML 提供統一的方法來描述和交換獨立於應用程式或供應商的結構化資料。
二、XML 實體:
三、XML規範
格式良好的XML必須滿足XML 基本的語法規範,有效的XML除了要滿足XML規範外,還要滿足相應DTD和Schema定義的元素規則。
有效的XML一定是格式良好的,但格式良好的XML不一定是有效的。
四、XML解析技術:
1.文件物件模型(DOM),一種基於樹結構的API。
2.XML簡單API(SAX),一種事件驅動的API.
DOM解析:
1.基於樹狀結構的API
2.整個XML文件必須在記憶體中解析和儲存
3.客戶端應用程式就可以隨機訪問這些物件
4.大型文件則會造成記憶體緊張
SAX解析:
1.SAX提高一種用於解析XML文件的事件驅動模型,使用回撥機制將事件通知應用程式
2.特點:
不必將整個檔案載入到記憶體中,佔有的記憶體少
不能對文件進行隨機訪問
SAX是隻讀的
文件只能遍歷一次。
DOM和SAX解析技術的實現:
1.JAXP(Java API for XML):JAXP是對應用程式隱藏了特定解析器的介面,它提供了訪問DOM和SAX實現的抽象層機制。
2.JDOM:
基於樹型結構,利用純JAVA的技術對XML文件操作
把SAX和DOM的功能有效地結合起來
用Java語言讀、寫、操作XML的優化API
3.DOM4J:
採用了java結合框架並完全支援DOM,SAX和JAXP
效能優異、功能強大和易用使用
大量使用介面,靈活性高。