一、簡述
1:xml是用來傳輸和存儲數據的,焦點是數據的內容
2、HTML用來顯示數據,焦點是數據的外觀
3、xml變遷沒有被預定義,需要自行定義標簽
4、例子:
<note>
<to>Tove</to>給誰
<from>Jani</from>來自誰<heading>Reminder</heading>標題
<body>Don't forget me this weekend!</body>消息主體
</note>
二、用途
1、把數據從html分離
2、簡化數據共享
3、簡化數據傳輸
4、簡化平臺變更
5、使數據更有用
6、用于創建新的互聯網語言
三、xml的樹結構
1、<?xml version="1.0" encoding="UTF-8"?>----------xml聲明,定義xml版本和使用的編碼
<note>----文檔的根元素,下邊的都是子元素
<to>Tove</to>
<from>Jani</from><heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>---根元素結尾
xml必須包含根元素。
四、xml語法
1、必須含有根元素
2、、xml聲明可選,若存在,則放在文檔第一行
3、xml中,必須都必須存在關閉標簽,不可省略和簡寫
4、xml標簽大小寫敏感
5、嵌套情況需要注意,必須正確嵌套
6、屬性值必須加引號
? ? 例:<note date="12/11/2007">
7、實體引用,及字符問題,在xml中只有<和&是非法的
? ? xml中5個預定義實體引用
? ? < <;> >& &' '" "
8、注釋:<!--? ?-->
9、xml中,空格會被保留,長空格會被合并成為一個
10、以LF存儲換行
在 Windows 應用程序中,換行通常以一對字符來存儲:回車符(CR)和換行符(LF)。
在 Unix 和 Mac OSX 中,使用 LF 來存儲新行。
在舊的 Mac 系統中,使用 CR 來存儲新行。
XML 以 LF 存儲換行。
五、xml元素
1、xml元素是從(且包括)開始標簽直到(且包括)結束標簽的部分。一個元素可以包括其他元素,文本,屬性,或混合以上所有。
2、xml命名規則:
? ? 名稱可以包含字母,數字以及其他字符
? ? 不能以數字和標點符號開始
? ? 不能以字符xml(無論大小寫)開始
? ? 不能包含空格
3、最佳命名習慣
? ? 具有描述性
? ? 簡短,簡單
? ? 避免“-”字符
? ? 避免“.”字符
? ??éòá 等非英語字母是完全合法的,不過需要留意,您的軟件供應商不支持這些字符時可能出現的問題。
4、xml元素是可擴展的:可以在不中斷應用程序的情況下進行擴展
六、xml屬性(提供有關元素的額外信息)
1、屬性通常提供不屬于數據組成部分的信息。
2、xml屬性值必須被引號包圍(單引號雙引號都可以)(若屬性值本身包含雙引號,則可以使用單引號)
例:<gangster name='George "Shotgun" Ziegler'>
3、xml中盡量避免使用屬性,若信息看上去像數據,就是用元素吧,僅僅使用屬性提供與數據無關的信息
4、因屬性而引起的問題
? ? 屬性不能包含多個值(元素可以)
? ? 屬性不能包含樹結構(元素可以)
? ? 屬性不容易擴展
5、 針對元數據的xml屬性:例:id
????元數據(有關數據的數據)應當存儲為屬性,而數據本身應當存儲為元素。
七、xml驗證(xml DTD)
1、形式良好的xml文件
? ? (前面寫了,現在再寫一遍)
? ??XML 文檔必須有一個根元素
????XML元素都必須有一個關閉標簽
????XML 標簽對大小寫敏感
????XML 元素必須被正確的嵌套
????XML 屬性值必須加引號
2、驗證xml文檔:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">-------DOCTYPE 聲明是對外部 DTD 文件的引用
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
3、XML DTD:
? ? DTD的目的是定義xml文檔的結構
4、XML Schema
? ??W3C 支持一種基于 XML 的 DTD 代替者,它名為 XML Schema:
八、XML驗證器
1、xml錯誤會終止程序
2、對xml進行語法檢查
3、根據DTD來驗證xml
<?xml version="1.0" ?>
<!DOCTYPE note [
? <!ELEMENT note (to,from,heading,body)>
? <!ELEMENT to? ? ? (#PCDATA)>
? <!ELEMENT from? ? (#PCDATA)>
? <!ELEMENT heading (#PCDATA)>
? <!ELEMENT body? ? (#PCDATA)>
]>
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<message>Don't forget me this weekend!</message>
</note>
九、查看xml文件
1、XML 文檔將顯示為代碼顏色化的根以及子元素。通過點擊元素左側的加號(+)或減號( - ),可以展開或收起元素的結構。要查看原始的 XML 源(不包括 + 和 - 符號),選擇"查看頁面源代碼"或從瀏覽器菜單"查看源文件"。
2、查看無效的xml文件
? ??如果一個錯誤的XML文件被打開,瀏覽器會報告錯誤。
3、大多數瀏覽器僅僅把xml文檔顯示為源代碼
十、xml css
1、使用css顯示xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/css" href="cd_catalog.css"?>--------把xml文件鏈接到css文件中
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD>
<TITLE>Hide your heart</TITLE>
<ARTIST>Bonnie Tyler</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>
.
.
.
</CATALOG>
不是常用方法,推薦使用XSLT
十一、XML XSLT
1、使用XSLT顯示XML:XSLT在瀏覽器西安市XML文件之前,現把它轉化為HTML
2、在服務器上通過XSLT轉換