2、XML基礎

一、什麼是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[ 內容 ]]>
  • 對於一些單個字符,若想顯示其原始樣式,也可以使用轉義的形式予以處理。如:&--&amp;  < -- &lt;和html中的一樣
  • CDATA區與轉義的不同:CDATA可以保留特殊符號而轉義是使用其他的符號代替特殊符號。

8、處理指令

  • 處理指令,簡稱PI (processing instruction)。處理指令用來指揮解析引擎如何解析XML文檔內容。
  • 例如,在XML文檔中可以使用xml-stylesheet指令,通知XML解析引擎,應用css文件顯示xml文檔內容。<?xml-stylesheet type="text/css" href="1.css"?>
  • 處理指令必須以“<?”作爲開頭,以“?>”作爲結尾
  • XML文檔聲明語句就是最常見的一種處理指令。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章