一、簡(jiǎn)述
1:xml是用來(lái)傳輸和存儲(chǔ)數(shù)據(jù)的酿秸,焦點(diǎn)是數(shù)據(jù)的內(nèi)容
2灭翔、HTML用來(lái)顯示數(shù)據(jù),焦點(diǎn)是數(shù)據(jù)的外觀
3辣苏、xml變遷沒(méi)有被預(yù)定義肝箱,需要自行定義標(biāo)簽
4、例子:
<note>
<to>Tove</to>給誰(shuí)
<from>Jani</from>來(lái)自誰(shuí)<heading>Reminder</heading>標(biāo)題
<body>Don't forget me this weekend!</body>消息主體
</note>
二考润、用途
1狭园、把數(shù)據(jù)從html分離
2读处、簡(jiǎn)化數(shù)據(jù)共享
3糊治、簡(jiǎn)化數(shù)據(jù)傳輸
4、簡(jiǎn)化平臺(tái)變更
5罚舱、使數(shù)據(jù)更有用
6井辜、用于創(chuàng)建新的互聯(lián)網(wǎng)語(yǔ)言
三绎谦、xml的樹(shù)結(jié)構(gòu)
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>---根元素結(jié)尾
xml必須包含根元素。
四刷允、xml語(yǔ)法
1冤留、必須含有根元素
2、树灶、xml聲明可選纤怒,若存在,則放在文檔第一行
3天通、xml中泊窘,必須都必須存在關(guān)閉標(biāo)簽,不可省略和簡(jiǎn)寫(xiě)
4像寒、xml標(biāo)簽大小寫(xiě)敏感
5烘豹、嵌套情況需要注意,必須正確嵌套
6诺祸、屬性值必須加引號(hào)
? ? 例:<note date="12/11/2007">
7携悯、實(shí)體引用,及字符問(wèn)題,在xml中只有<和&是非法的
? ? xml中5個(gè)預(yù)定義實(shí)體引用
? ? < <筷笨;> >& &' '" "
8蚌卤、注釋?zhuān)?lt;!--? ?-->
9、xml中奥秆,空格會(huì)被保留逊彭,長(zhǎng)空格會(huì)被合并成為一個(gè)
10、以LF存儲(chǔ)換行
在 Windows 應(yīng)用程序中构订,換行通常以一對(duì)字符來(lái)存儲(chǔ):回車(chē)符(CR)和換行符(LF)侮叮。
在 Unix 和 Mac OSX 中,使用 LF 來(lái)存儲(chǔ)新行悼瘾。
在舊的 Mac 系統(tǒng)中囊榜,使用 CR 來(lái)存儲(chǔ)新行。
XML 以 LF 存儲(chǔ)換行亥宿。
五卸勺、xml元素
1、xml元素是從(且包括)開(kāi)始標(biāo)簽直到(且包括)結(jié)束標(biāo)簽的部分烫扼。一個(gè)元素可以包括其他元素曙求,文本,屬性,或混合以上所有悟狱。
2静浴、xml命名規(guī)則:
? ? 名稱(chēng)可以包含字母,數(shù)字以及其他字符
? ? 不能以數(shù)字和標(biāo)點(diǎn)符號(hào)開(kāi)始
? ? 不能以字符xml(無(wú)論大小寫(xiě))開(kāi)始
? ? 不能包含空格
3挤渐、最佳命名習(xí)慣
? ? 具有描述性
? ? 簡(jiǎn)短苹享,簡(jiǎn)單
? ? 避免“-”字符
? ? 避免“.”字符
? ??éòá 等非英語(yǔ)字母是完全合法的,不過(guò)需要留意浴麻,您的軟件供應(yīng)商不支持這些字符時(shí)可能出現(xiàn)的問(wèn)題得问。
4、xml元素是可擴(kuò)展的:可以在不中斷應(yīng)用程序的情況下進(jìn)行擴(kuò)展
六软免、xml屬性(提供有關(guān)元素的額外信息)
1椭赋、屬性通常提供不屬于數(shù)據(jù)組成部分的信息。
2或杠、xml屬性值必須被引號(hào)包圍(單引號(hào)雙引號(hào)都可以)(若屬性值本身包含雙引號(hào)哪怔,則可以使用單引號(hào))
例:<gangster name='George "Shotgun" Ziegler'>
3、xml中盡量避免使用屬性向抢,若信息看上去像數(shù)據(jù)认境,就是用元素吧,僅僅使用屬性提供與數(shù)據(jù)無(wú)關(guān)的信息
4挟鸠、因?qū)傩远鸬膯?wèn)題
? ? 屬性不能包含多個(gè)值(元素可以)
? ? 屬性不能包含樹(shù)結(jié)構(gòu)(元素可以)
? ? 屬性不容易擴(kuò)展
5叉信、 針對(duì)元數(shù)據(jù)的xml屬性:例:id
????元數(shù)據(jù)(有關(guān)數(shù)據(jù)的數(shù)據(jù))應(yīng)當(dāng)存儲(chǔ)為屬性,而數(shù)據(jù)本身應(yīng)當(dāng)存儲(chǔ)為元素艘希。
七硼身、xml驗(yàn)證(xml DTD)
1、形式良好的xml文件
? ? (前面寫(xiě)了覆享,現(xiàn)在再寫(xiě)一遍)
? ??XML 文檔必須有一個(gè)根元素
????XML元素都必須有一個(gè)關(guān)閉標(biāo)簽
????XML 標(biāo)簽對(duì)大小寫(xiě)敏感
????XML 元素必須被正確的嵌套
????XML 屬性值必須加引號(hào)
2佳遂、驗(yàn)證xml文檔:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE note SYSTEM "Note.dtd">-------DOCTYPE 聲明是對(duì)外部 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文檔的結(jié)構(gòu)
4撒顿、XML Schema
? ??W3C 支持一種基于 XML 的 DTD 代替者丑罪,它名為 XML Schema:
八、XML驗(yàn)證器
1凤壁、xml錯(cuò)誤會(huì)終止程序
2吩屹、對(duì)xml進(jìn)行語(yǔ)法檢查
3、根據(jù)DTD來(lái)驗(yàn)證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 文檔將顯示為代碼顏色化的根以及子元素。通過(guò)點(diǎn)擊元素左側(cè)的加號(hào)(+)或減號(hào)( - )唧席,可以展開(kāi)或收起元素的結(jié)構(gòu)擦盾。要查看原始的 XML 源(不包括 + 和 - 符號(hào))嘲驾,選擇"查看頁(yè)面源代碼"或從瀏覽器菜單"查看源文件"。
2厌衙、查看無(wú)效的xml文件
? ??如果一個(gè)錯(cuò)誤的XML文件被打開(kāi)距淫,瀏覽器會(huì)報(bào)告錯(cuò)誤绞绒。
3婶希、大多數(shù)瀏覽器僅僅把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文件之前筒饰,現(xiàn)把它轉(zhuǎn)化為HTML
2、在服務(wù)器上通過(guò)XSLT轉(zhuǎn)換