XML 可擴充套件標記語言 筆記

2021-10-07 03:24:36 字數 2035 閱讀 5079

xml 可擴充套件標記語言

一、什麼是標記語言

標記語言就是一種由特定意義的符號組成的文件,這些符號用來指明文件內容的結構和含義。

目前常用的標記語言有兩種:

標記語言的本質實際上就是一種格式特殊的文字資訊。

標記語言通常不是給「人」來看的,而是用來給特定的程式解析。

html通常由瀏覽器軟體解析,用來描述如何繪製網頁。

xml通常由我們自己編寫的程式解析,用來儲存專案中的一些輕量級資料或者一些配置資訊,也作為輕量級資料傳輸的載體。

二、了解xml中的基本概念

我們提到「標籤」概念的時候,並不關注它從**開始、到**結束、包含哪些內容、具有哪些屬性……

乙個元素就代表從乙個開始標籤到它對應的結束標籤範圍內的所有物件。包括標籤、屬性、注釋、文字。

attribute 屬性

屬性就是對元素進行額外的說明,出現在乙個元素的開始標籤當中。

屬性必須以鍵值對形式存在。屬性值必須加雙引號。

乙個元素可以有多組屬性,每組屬性之間使用空格進行分割。

乙個屬性可以對應多個屬性值,多個屬性值之間使用空格進行分割。

comments 注釋

語法:

三、如何編輯乙個xml文件

xml就是一種特殊格式的文字資訊,裡面都是一些可以經過字元編碼的內容。

所以任何文字編輯器都可以編寫xml文件。

例如:記事本、editplus、notepad++、sublime……

除此之外,目前主流的ide工具都整合了xml編輯器,功能非常強大。

例如:eclipse、vscode、myeclipse、idea、netbeans……

四、如何編寫乙個結構良好/格式良好的xml文件

五、如何書寫乙個有效的xml文件

有效的xml指的是能夠被程式正確解析,不會出現錯誤的文件。

必須滿足兩個條件:

六、xml文件約束

xml本身存在很高的靈活度,所以可能每個人編寫的xml文件差異都很大。導致標準不能得到統一,使用程式對其進行解析的難度很大。所以需要出台一套規章制度,用來約束文件必須如何去寫。

約束:指定規則,說明哪些內容在文件中是合法的,哪些內容是不合法的。

標記文件的約束有兩種形式:

七、使用dtd宣告文件約束

dtd有兩種使用方式:

只是書寫的位置不同,但是語法沒有任何區別。

1、內部式語法

在根元素的外邊宣告一下內容:

內容宣告:允許出現哪些元素、不允許出現哪些元素、元素必須按照什麼順序排列、每種元素能夠出現多少次、元素中必須擁有哪些屬性、屬性是什麼型別、有無預設值、屬性是否是必要的……

內容宣告中,可以有兩種形式:

元素約束

元素名稱

(內容)

>

元素名稱

型別》

#pcdata:可解析的字元內容,parseable character data

如果宣告某個元素是該型別的話,意思就是強調該元素內不能有其他子元素,只能有文字資料。

八、關於字元轉義的問題

當我們在xml定義包含類似「<」這樣的字元時,解析可能會出現一定的問題。

因為「<」在xml具有特殊含義,解析器會把它當成乙個新元素的開始標記。

對於這樣的特殊字元,我們必須要對其進行轉義。

轉義有兩種方式:

在 xml 中有 5 個預定義的實體引用:

引用內容

符號小於

<;

<

小於》;

>

大於&;&和號

&apos;

』單引號";"

雙引號**注釋:**嚴格地講,在 xml 中僅有字元 「<「和」&」 是非法的。引號和大於號是合法的,但是把它們替換為實體引用是個好的習慣。

語法:九、xml文件的解析

xml文件中的內容多數情況下是給程式解析使用的。

主要介紹三種解析的方法:

這兩種方法都是jdk原生api中所包含的解析方式,不要求掌握。

XML可擴充套件標記語言

xml 的全稱為可擴充套件標記語言 即 extensible markup language 它是 w3c定義的一種標準。那麼為什麼會出現 xml?其優勢到底在 呢?必知必會 xml與 html 相比的優勢 相信讀者對 html 都非常熟悉,html 是一種標記語言,同時,html 裡面有很多標籤,...

可擴充套件標記語言Xml

xml用於描述資料,是當前處理結構化文件資訊的有力工具。與作業系統程式語言的開發平台無關,可以實現不同系統之間的資料互動。姓名性別 中第一行是xml宣告,它一般在xml文件的第一行。它由兩個部分組成 version 文件符合xml1.0規範。encoding 文件字元編碼,預設為 utf 8 為注釋...

可擴充套件標記語言xml

xml extensible markup language 可擴充套件標記語言 html hyperlink text markup language 超文字標記語言 xml嚴格區分大小寫,html不區分 xml不是編譯語言,xml和html都是解釋型語言 html語言負責顯示資料,而xml檔案就...