一、為什么出現XML?
還是從軟件說起,其本質是信息處理以及對信息處理的自動化。在軟件系統中,數據是信息的載體,是對客觀事物所蘊含信息的抽象描述。軟件對數據的處理包括:Define(定義)、Transfer(傳遞)、Transform(轉換)、Store(存儲)、Retrival(檢索)和Show(展示)。
數據可以以二進制的形式表示也可以以文本的形式表示。二進制文件是一個0和1的序列,通常需要專用的程序進行識別和解析,由于占用帶寬較少,適用于網絡傳輸,但對于用戶來說很難理解。而文本文件是一個由字符組成的文件,方便用戶理解,但文件通常較大。
在《雜談:語言的鴻溝》一文中,我們曾討論過人們總是在追求簡單方便。同樣地,在二進制文件和文本文件之間人們通常選擇的是文本文件。但在文本文件中,人們還希望文本文件能夠自表達所蘊含的意義,希望的是有格式的文本數據,于是就需要標記元數據以及所標識的原始數據。在這種情況下,SGML(Standard Generalized Markup Language,標準通用標記語言)以一種規范性的標準出現了,其官網簡單示例如下所示:
SGML允許人們使用標準的語法語義創建他們自已的標記語言,例如,HTML使用<>>來標識元數據,并且在標記內可以增加定義。SGML具有的這種靈活性,同時也帶來了復雜性,事實上,這使得SGML的解析及處理變得十分困難,很難在網絡上進行廣泛地應用。所以SGML需要改變,需要簡化。這種情況下,XML(eXtensible Markup Language,可擴展標記語言)作為SGML的一個簡化子集出現了。
二、什么是XML?
- 基礎
1998年2月,W3C發布了XML的推薦標準,XML繼承了SGML的靈活性,沒有預定義的標簽,標簽是由XML的編寫人員根據業務需求進行編寫的,如下圖所示,、、都是自定義的標簽,且都有一個對應的關閉標簽>:
一個基本的XML示例包含XML聲明、根元素和子元素。其中,XML聲明定義XML的版本和所用的編碼;根元素是每個XML文檔都必須包含的,并做為XML樹的根而解析,如下所示:
XML的解析就是其內容進行分解并重建,通常情況下將其抽象為DOM模型--使用樹型結構表示,該模型提供了內存中訪問和修改XML信息的方法。需要說明的是,DOM消耗的內存較大。
XML允許自定義標簽,同時如果XML文檔存在錯誤,那么程序就不應當繼續處理這個文檔。那么我們如何來驗證XML文檔是正確的呢?有兩種方式:
- DTD(document type definitions,文件類型定義)
- XML Schema
2. 應用場景
在XML出現的前部分時間,XML使用得較少。隨著互聯網的發展,網絡服務大量地接收和發送數據,但數據格式由于技術體系的不同而呈現出較大的差異,數據格式多且大部分都是專有的,開發人員需要做很多數據轉換的工作。這就需要實現數據格式的通用性。XML作為對人機友好的文件格式,可提高數據的通用性,使不同組件間的數據交互更容易,并使得開發人員聚焦于業務邏輯的開發與創新。XML在數據交換領域并得到了廣泛的應用。除此之外,XML還應用于:
- 配置文件:許多應用或框架的配置文件都采用XML格式,如Struct、Spring等框架;
- 數據庫系統:大多數數據庫系統都能保存XML格式的文件。
-
軟件系統
+關注
關注
0文章
64瀏覽量
9610 -
Transform
+關注
關注
0文章
3瀏覽量
5702 -
define
+關注
關注
0文章
16瀏覽量
3886
發布評論請先 登錄
OpenHarmony語言基礎類庫【@ohos.xml (xml解析與生成)】
xml文件如何打開?怎樣打開XML文件?
PowerDesigner 與XML建模

xml教程pdf (XML終極教程下載)
XML Reference Material
An Eagle’s Eye View of XML
An Introduction to XML Applica
Microsoft Core XML Services (M
基于XML的數據倉庫概念模型設計
XML數據相似度研究

基于節點集的XML查詢

XML基礎——XML必須知道的入門知識

評論