XML學習

一、什麼是XML?

1XML是指可擴展標記語言(eXtensible Markup Language),用戶自定義的標籤.相對於HTML來講的。

2XML被設計的宗旨是表示數據。HTML是用來顯示數據的。目前經常使用的XML版本是1.0

3XML除了表示數據外。在實際的企業開發中,主要用XML作爲程序的配置文件。


二、XML的基本語法

   1、文檔聲明:

作用:用於標識該文檔是一個XML文檔。

注意事項:聲明必須出現在文檔的第一行(之前連空行都不能有,也不能有任何的註釋)

最簡單的XML聲明:<?xml version="1.0"?>

聲明中的encoding屬性:說明解析當前XML文檔時所使用的編碼。默認是UTF-8

聲明中的standalone屬性:說明XML文檔是否是獨立的。

2、元素:

結束標籤不能省略 ;

一個XML文檔必須且只能有一個根標籤;

XML文檔中不會忽略回車和換行及空格;

標籤的命名規範:元素(標籤)的名稱可以包含字母、數字、減號、下劃線和英文句點。嚴格區分大小寫。

  3、元素的屬性:

元素的屬性取值一定要用引號引起來(單引號或者雙引號)。

    4、註釋:

與HTML中的註釋完全一致:<!--這是註釋--> 。注意: 註釋不能嵌套。

  5、CDATA區:

CDATACharacter Data的縮寫。作用:CDATA區中的內容都是文本。

語法格式如下:

<![CDATA[

文本內容

]]>

6、處理指令:

處理指令,簡稱PI(Processing Instruction)。

作用:用來指揮軟件如何解析XML文檔。

語法:必須以“<?”作爲開頭,以“?>”作爲結尾。

四、XML的約束

1、格式良好的XML文檔:符合XML語法的。

2、有效的XML文檔:遵循約束規範的。

格式良好的不一定是有效的,但有效的一定是格式良好的。

五、DTD的基本語法

1、DTD:Document Type Definition(文檔類型定義)。

2、作用:約束XML的書寫規範。

3、DTD文件保存到磁盤時,必須使用UTF-8編碼。

      4、如何引入外部的DTD文檔來約束當前的XML文檔?

(1)DTD文件在本地:<!DOCTYPE 根元素名稱 SYSTEM "DTD文件的路徑">

      (2)DTD文件在網絡上:<!DOCTYPE 根元素名稱 PUBLIC "DTD名稱" "DTD的路徑URL">

5、定義元素:

語法:<!ELEMENT 元素名稱 使用規則>

使用規則:

(#PCDATA):指示元素的主體內容只能是普通的文本.(Parsed Character Data)

EMPTY:指示元素的不能有主體內容。

ANY:用於指示元素的主體內容爲任意類型

(子元素):指示元素中包含的子元素

如果子元素用逗號分開,說明必須按照聲明順序去編寫XML文檔

如果子元素用“|”分開,說明任選其一。

+*、?來表示元素出現的次數

6、定義元素的屬性(attribute):

語法:<!ATTLIST 哪個元素的屬性

屬性名屬性值類型 設置說明

屬性名屬性值類型 設置說明>

屬性值類型:

CDATA:說明該屬性的取值爲一個普通文本

ENUMERATED (DTD沒有此關鍵字)

語法:<!ATTLIST 元素名稱 (1|2) "1">

ID:屬性的取值不能重複

設置說明:

#REQUIRED:表示該屬性必須出現

#IMPLIED:屬性可有可無

#FIXED:表示屬性的取值爲一個固定值 語法:#FIXED "固定值"

直接值:表示屬性的取值爲該默認值

7、定義實體:

關鍵字ENTITY

實體的定義分爲引用實體和參數實體

引用實體:

作用:在DTD中定義,在XML中使用

語法:<!ENTITY 實體名稱 "實體內容">

XML中使用:&實體名稱;

參數實體:

作用:在DTD中定義,在DTD中使用

語法:<!ENTITY % 實體名稱 "實體內容">

DTD中使用:%實體名稱;

如下爲定義一個文檔約束的例子:

<!ELEMENT 書架 (書+)>
	<!ELEMENT 書 (書名,作者,售價)>
	<!ELEMENT 書名 (#PCDATA)>
	<!ELEMENT 作者 (#PCDATA)>
	<!ELEMENT 售價 (#PCDATA)>
下面是一個按照約束寫的一個XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE 書架 SYSTEM "book.dtd">
<書架>
	<書>
		<書名>XXX</書名>
		<作者>XXX</作者>
		<售價>99元</售價>
	</書>
	<書>
		<書名>XXXXX</書名>
		<作者>XXX</作者>
		<售價>50元</售價>
	</書>
</書架>



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