一、什麼是XML
1、英文全稱爲Extensible Markup Language,翻譯過來爲可擴展標記語言。
- XML技術是W3C組織發佈的,目前遵循的是W3C組織於2000發佈的XML1.0規範
2、XML就是一種數據存儲格式
- 這種數據存儲格式在存儲數據內容的同時,還能夠保存數據之間的關係
3、XML保存數據的方法
- XML語言利用標籤來保存數據內容,利用標籤之間的嵌套關係來保存數據之間的層級關係
4、XML的應用場景
- XML本質上是一段字符串,具有跨平臺性的特性,因此XML常被用來在不同系統之間進行數據交換。如果說java是一門跨平臺的語言,那xml就是跨平臺的數據。
- XML可以在保存數據的同時保存數據之間的關係。利用這一特點,它還經常用作應用程序配置文件來使用。
5、xml文件
- XML是一種存儲數據的格式,我們可以將遵照這種數據格式寫出來的XML數據保存到一個文件中去,並將文件的後綴名設定爲.xml,那麼這樣的保存了XML數據的文件就叫做xml文件。
- xml文件是保存XML數據的一種方式,XML數據也可以以其他的方式存在(如在內存中構建XML數據),不要將XML語言狹隘的理解成xml文件。
6、XML校驗
- 瀏覽器除了內置HTML解析器外還內置了XML解析器,因此我們可以使用瀏覽器對XML進行校驗。
二、xml語法
1、一個XML文件分爲如下幾部分內容:
- 文檔聲明
- 元素
- 屬性
- 註釋
- CDATA區 、特殊字符
- 處理指令(processing instruction)
2、XML文檔聲明
- XML的文檔聲明是用來聲明文檔基本屬性的,XML解析器將根據文檔聲明決定如何正確解析一個XML
注意:
- 通常來說一個XML必須包含且只包含一個文檔聲明
- 文檔聲明必須處在XML的第一行,前面不能有其他內容
- 如果一個XML不包含文檔聲明則稱這樣的XML爲格式不良好的XML
- 在許多時候即使不包含文檔聲明,XML也可以被正常使用,但是這是不符合標準的,存在風險,因此強烈推薦大家在書寫XML時寫上文檔聲明。
寫法:
- 最簡單寫法:<?xml version="1.0" ?>
- version 代表當前xml所遵循的xml標準
- encoding屬性說明文檔的字符編碼:<?xml version="1.0" encoding="GB2312" ?>
- encoding告知解析器使用何種編碼解析當前xml默認值爲ISO8859-1
- standalone屬性說明文檔是否獨立:<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
- standalone表示當前xml文檔是否是一個獨立文檔,當爲yes時表示是一個獨立文檔,當爲no時表示當前文檔需要其他文檔支持。
3、XML元素
- 一個XML標籤就是一個XML元素。分爲開始標籤和結束標籤,在開始標籤和結束標籤之間的文本被稱爲標籤體。
- 包含標籤體:<a>www.itcast.cn</a>
- 如果一個不包含標籤體也不包含其他元素,那麼可以將開始標籤和結束標籤合併,這樣的標籤稱爲自閉標籤
- 不含標籤體及其他元素:<a></a>可以簡寫爲自閉標籤:<a/>
- 一個標籤中也可以嵌套若干子標籤。但所有標籤必須合理的嵌套,絕對不允許交叉嵌套
- 格式良好的XML文檔必須有且僅有一個根標籤,其它標籤都是這個根標籤的子孫標籤。
- 對於XML標籤中出現的所有空格和換行,XML解析程序都會當作標籤內容進行處理,但是現在很多解析器都能自動去掉多餘的空格和換行
4、XML元素——命名規範
- 一個XML元素可以包含字母、數字以及其它一些可見字符,但必須遵守下面的一些規範:
- 區分大小寫,例如,<P>和<p>是兩個不同的標記
- 不能以數字或標點符號或"_"開頭。
- 不能以xml(或XML、或Xml 等)開頭。
- 不能包含空格
- 名稱中間不能包含冒號(:)
5、屬性
- 一個標籤可以有多個屬性,每個屬性都有它自己的名稱和取值,例如:<china capital="beijing"/>
- 屬性值一定要用雙引號(")或單引號(')引起來<china capital='beijing'/>
- 定義屬性名必須遵循與元素相同的命名規範
6、XML註釋
- Xml文件中的註釋採用:“<!--註釋-->” 格式
- 註釋不能出現在文檔聲明之前(因爲XML要求文檔聲明必須在第一行,之前不能有其他內容)
- 註釋不能嵌套
7、CDATA區
- 當XML中一段內容不希望被解析器解析時可以使用CDATA區將其包住
- 當解析器遇到CDATA區時會將其內容當作文本對待,不會進行解析
- 語法:<![CDATA[ 內容 ]]>
- 對於一些單個字符,若想顯示其原始樣式,也可以使用轉義的形式予以處理。如:&--& < -- <和html中的一樣
- CDATA區與轉義的不同:CDATA可以保留特殊符號而轉義是使用其他的符號代替特殊符號。
8、處理指令
- 處理指令,簡稱PI (processing instruction)。處理指令用來指揮解析引擎如何解析XML文檔內容。
- 例如,在XML文檔中可以使用xml-stylesheet指令,通知XML解析引擎,應用css文件顯示xml文檔內容。<?xml-stylesheet type="text/css" href="1.css"?>
- 處理指令必須以“<?”作爲開頭,以“?>”作爲結尾
- XML文檔聲明語句就是最常見的一種處理指令。