一、什么是XML語言?
-
XML 指可擴展標記語言(Extensible Markup Language)
Xml是獨立於軟件和硬件的信息傳輸工具。
-
XML 是一種很像HTML的標記語言。
但xml不是html的替代,是對html的補充。
-
XML 的設計宗旨是傳輸數據,而不是顯示數據。
Xml被設計用來傳輸和存儲數據,主要是數據的內容。
html被設計用來顯示數據,主要是數據的外觀。
-
XML 標簽沒有被預定義。您需要自行定義標簽。
Xml沒有預定義標簽,我們可以自定義標簽,如<to>和<from>標簽。
在html中使用的標簽是預定義的,如<p>和<h1>標簽。
-
XML 被設計為具有自我描述性。
沒有任何行為的xml,xml是不作為的。
下面是 John 寫給 George 的便簽,存儲為 XML:
<note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> |
上面的這條便簽具有自我描述性。它擁有標題以及留言,同時包含了發送者和接受者的信息。
但是,這個 XML 文檔仍然沒有做任何事情。它僅僅是包裝在 XML 標簽中的純粹的信息。我們需要編寫軟件或者程序,才能傳送、接收和顯示出這個文檔。
-
XML 是 W3C 的推薦標准
可擴展標記語言 (XML) 於 1998 年 2 月 10 日成為 W3C 的推薦標准。
二、XML的語法
1.文檔聲明,作用:為了聲明文檔類型
<?xml version="1.0" encoding="utf-8"?> |
Xml是以哪種碼表保存的,在xml文檔中就應該設置相應的encoding屬性,用來通知解析器(瀏覽器)以相應的編碼打開。
2.元素(標簽)
- 所有xml元素都必須有關閉標簽
<p>This is another paragraph</p> |
注釋:您也許已經注意到 XML 聲明沒有關閉標簽。這不是錯誤。聲明不屬於XML本身的組成部分。它不是 XML 元素,也不需要關閉標簽。
- Xml必須正確嵌套
<b><i>This text is bold and italic</i></b> |
- Xml文檔必須有根元素
XML 文檔必須有一個元素是所有其他元素的父元素。該元素稱為根元素。
<root> <child> <subchild>.....</subchild> </child> </root> |
- 實體引用
在 XML 中,有 5 個預定義的實體引用:
< |
< |
小於 |
> |
> |
大於 |
& |
& |
和號 |
' |
' |
單引號 |
" |
" |
引號 |
-
在xml中空格和換行會被保留
在xml文件中的標簽里面出現的空格和換行,xml解析程序都會當標簽內容處理。
3.屬性
- Xml標簽對大小寫敏感
標簽<Letter>和標簽<letter>是不同的。
- Xml的屬性值須加引號
<note date="08/08/2008"> <to>George</to> <from>John</from> </note> |
-
我最喜歡的方式
下面的三個 XML 文檔包含完全相同的信息:
第一個例子中使用了 date 屬性:
<note date="08/08/2008"> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> |
第二個例子中使用了 date 元素:
<note> <date>08/08/2008</date> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> |
第三個例子中使用了擴展的 date 元素(這是我的最愛):
<note> <date> <day>08</day> <month>08</month> <year>2008</year> </date> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> |
在 XML 中,您應該盡量避免使用屬性。如果信息感覺起來很像數據,那么請使用子元素吧。
4.xml中的注釋
在 XML 中編寫注釋的語法與 HTML 的語法很相似。
<!-- This is a comment --> |
注釋不能夠在文檔聲明之前。
5.CDATE區
格式:<![CDATE[內容]]>
字符數據區:希望我們的標簽不被解析出來。
6.處理指令:
讓解釋器如何解析xml文件內容。