【XML】什麼是XML?

XML:可擴展標記語言(eXtensible Markup Language),是格式嚴謹的HTML!

誕生背景

在現實生活中大量存在有關係的數據,如圖所示。這樣的數據如何交給計算機處理呢?
在這裏插入圖片描述

於是,出現了XML語言,XML出現的根本目標在於描述上圖那種,在現實生活中經常出現的有關係的數據。
在XML中,它允許用戶自定義標籤。一個標籤用於描述一段數據;一個標籤可分爲開始標籤和結束標籤,在開始標籤和結束標籤之間,又可以使用其它標籤描述其它數據,以此來實現數據關係的描述。

常見應用:

  • XML技術除用於保存有關係的數據之外,它還經常用作軟件配置文件,以描述程序模塊之間的關係。
  • 在一個軟件系統中,爲提高系統的靈活性,它所啓動的模塊通常由其配置文件決定

例如:一個軟件在啓動時,它需要啓動A、B兩個模塊,而A、B這兩個模塊在啓動時,又分別需要A1、A2和B1、B2模塊的支持,爲了準確描述這種關係,此時使用XML文件最爲合適不過。

第一個XML程序

<html>
	<head>
		<title>this is title</title>
	</head>
	<body>
		<p>html標籤</p>
		<P>html標籤</P>
		<abc>abc標籤</abc>  自定義標籤
	</body>
</html>

什麼是XML

XML技術是w3c組織發佈的,目前推薦遵循的是W3C組織於2000發佈的XML1.0規範。
HTML

  • 名稱:HyperText Markup Languae(超文本標記語言)
  • 標籤:標籤是w3c組成指定,固定的,約100來個
  • 作用:負責網頁的結構

XML

  • 名稱:Extend Markup Languge(可擴展標籤語言)
  • 標籤:由開發者自己制定的(要按照一定的語法定義)
  • 作用:
    1)描述帶關係的數據(作爲軟件的配置文件):描述包含與被包含的關係
properties文件:
		key-value 
		name=eric
		password=123456
XML描述爲:
		<user>
			<name>eric</name>
			<password>123456</password>
		</user>

2)作爲數據的載體(存儲數據,小型的“數據庫”)

XML的初衷是替換掉語法鬆散的HTML,但是現在看來並沒有實現;所以XML轉移陣地,走向作爲配置文件,而不再作爲頁面結構了!

如何寫一個漂亮的XML

一個XML文件分爲如下幾部分內容:

  1. 文檔聲明
  2. 標籤
  3. 屬性
  4. 註釋
  5. 轉義字符
  6. CDATA區
  7. 處理指令(processing instruction)

核心特性:

  1. xml文件以xml後綴名結尾。
  2. xml文件需要使用xml解析器去解析。瀏覽器內置了xml解析器。
  3. 語法由w3c組織規定的;

文檔聲明

語法格式:

<?xml version="1.0" encoding="utf-8"?>

語法解析:
version: XML的版本號,注意是w3c發佈的XML版本號,不是你的軟件的版本號!
encoding:說明XML文件的字符編碼類型
standalone:說明文檔是否獨立。

注意:

  1. 如果在Eclipse工具中開發xml文件,保存xml文件時自動按照文檔聲明的encoding來保存文件。
  2. 如果用Windows記事本工具修改xml文件,注意保存xml文件按照文檔聲明的encoding的碼錶來保存,因爲Windows會智障地按照自己的編碼方式,從而導致整個xml失效。
  3. 結論:第一是關注文件本身編碼和聲明的編碼是否一致;第二是禁止使用notepad編輯代碼!

標籤

語法格式:

<student> 內容 </student> :開始標籤  標籤體內容  結束標籤

標籤的特性:

  1. xml標籤名稱區分大小寫。
  2. xml標籤一定要正確配對。允許自閉標籤:
  3. xml標籤名中間不能使用空格
  4. xml標籤名不能以數字開頭,不能包含空格,名稱中間不能包含冒號和Java的命名規範一樣;
  5. 注意: 在一個xml文檔中,有且僅有一個根標籤,即就像一個HTML文件不能有兩個<html></html>如下圖:在這裏插入圖片描述
  6. 正確的XML文件成功的運行
    在這裏插入圖片描述

屬性

語法格式:

<Student name="eric">student</Student>

屬性約束:
 屬性值必須以引號包含,不能省略,但不能單雙引號混用,即要麼同時用雙引號、同時用單引號!!!
 一個標籤內可以有多個屬性,但不能出現重複的屬性名!!!
 屬性只能出現在開始標籤中。
屬性名不能使用空格、冒號的特殊字符,且必須以字母開頭

註釋

語法格式:

<!--  xml註釋  -->

轉義字符

定義:

  1. 在xml中內置了一些特殊字符,這些特殊字符不能直接被瀏覽器原樣輸出。
  2. 如果希望把這些特殊字符按照原樣輸出到瀏覽器,對這些特殊字符進行轉義。
  3. 轉義之後的字符就叫轉義字節。
  4. XML中的轉義字符與HTML中的一樣。

CDATA區

**作用:**可以讓一些需要進行包含特殊字符的內容統一進行原樣輸出。

<![CAATA[
	<ShaBi>zhi zhang </ShaBi>
]]>

處理指令(processing instruction)

**功能:**告訴xml解析如何解析xml文檔

語法格式:
處理指令必須以“<?”作爲開頭,以“?>”作爲結尾,XML聲明語句就是最常見的一種處理指令。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章