xml定義:
XML即可擴展標記語言(eXtensible Markup Language)。標記是指計算機所能理解的信息符號,通過此種標記,計算機之間可以處理包含各種信息的文章等。如何定義這些標記,既可以選擇國際通用的標記語言,比如HTML,也可以使用象XML這樣由相關人士自由決定的標記語言,這就是語言的可擴展性。
上面這段是對XML的一個基本定義,一個被廣泛接受的說明。簡單說,XML就是一種數據的描述語言,雖然它是語言,但是通常情況下,它並不具備常見語言的基本功能——被計算機識別並運行。只有依靠另一種語言,來解釋它,使它達到你想要的效果或被計算機所接受。
總結:
XML是一種標記語言,很類似HTML
XML的設計宗旨是傳輸數據,而非顯示數據
XML標簽沒有被預定義。您需要自行定義標簽。
XML被設計為具有自我描述性。
XML是獨立於軟件和硬件的信息傳輸工具。 目前,XML在Web中起到的作用不會亞於一直作為 Web 基石的 HTML。XML無所不在。XML是各種應用程序之間進行數據傳輸的最常用的工具,並且在信息存儲和描述領域變得越來越流行。
用途:
如果你需要在 HTML 文檔中顯示動態數據,那么每當數據改變時將花費大量的時間來編輯 HTML。
通過 XML,數據能夠存儲在獨立的 XML 文件中。這樣你就可以專注於使用 HTML 進行布局和顯示,並確保修改底層數據不再需要對 HTML 進行任何的改變。
工作原理:
比如,我們要給對方傳輸一段數據,數據內容是“too young,too simple,sometimes naive”,要將這段話按照屬性拆分為三個數據的話,就是,年齡too young,閱歷too simple,結果sometimes naive。
我們都知道程序不像人,可以體會字面意思,並自動拆分出數據,因此,我們需要幫助程序做拆分,因此出現了各種各樣的數據格式以及拆分方式。
比如,可以是這樣的數據為“too young,too simple,sometimes naive”,然后按照逗號拆分,第一部分為年齡,第二部分為閱歷,第三部分為結果。
也可以是這樣的,數據為“too_young**too_simple*sometimes_naive”,從數據開頭開始截取前面十一個字符,去掉*號並把下划線替換為空格作為第一部分,再截取接下來的十一個字符同樣去掉*並替換下划線為空格作為第二部分,最后把剩下的字符同樣去*號體會空格作為第三部分。
這兩種方式都可以用來容納數據並能夠被解析,但是不直觀,通用性也不好,而且如果出現超過限定字數的字符串就容納不了,也可能出現數據本身就下划線字符導致需要做轉義。
基於這種情況,出現了xml這種數據格式, 上面的數據用XML表示的話可以是這樣
<person age="too young" experience="too simple" result="sometimes naive" />
也可以是這樣
<person> <age value="too young" /> <experience value="too simple" /> <result value="sometimes naive" /> </person>
兩種方式都是xml,都很直觀,附帶了對數據的說明,並且具備通用的格式規范可以讓程序做解析。
如果用json格式來表示的話,就是下面這樣{
"age":"too young",
"experience":"too simple",
"result":"sometimes naive"
}
Future of XML:
永遠不會過時的。