版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-1-了解XML的歷史了解XML的特點(diǎn)了解XML的基本特征掌握XML的文檔結(jié)構(gòu)掌握XML文檔的組成要素及其使用掌握格式良好的XML文檔的規(guī)則了解有效XML文檔的實(shí)現(xiàn)方式掌握基本XML文檔的編寫(xiě)目標(biāo)-2-XML概述XML(eXtensibleMarkupLanguage,可擴(kuò)展標(biāo)記語(yǔ)言)是一種元語(yǔ)言,是Internet環(huán)境中的一種跨平臺(tái)的、依賴(lài)于內(nèi)容的技術(shù),是當(dāng)今處理分布式結(jié)構(gòu)信息的有效工具XML有兩個(gè)先驅(qū):SGML
(StandardGeneralizedMarkupLanguage,標(biāo)準(zhǔn)通用標(biāo)志語(yǔ)言)HTML
HTML是一種界面技術(shù),它只使用了SGML中很少的一部分標(biāo)記。固定的語(yǔ)法使它易學(xué)易用,在計(jì)算機(jī)上開(kāi)發(fā)HTML的瀏覽器也十分容易。在EDI(ElectronicDataInterchange,電子數(shù)據(jù)交換)應(yīng)用過(guò)程中,XML展現(xiàn)了如下的優(yōu)勢(shì):低成本定制商業(yè)規(guī)則,XML允許用戶(hù)創(chuàng)建自己的商業(yè)規(guī)則和格式容易解釋平臺(tái)獨(dú)立-3-XML的基本特征XML是一個(gè)精簡(jiǎn)的SGML子集,保留了SGML的可擴(kuò)展功能。XML要比HTML強(qiáng)大得多,它不再是固定的標(biāo)記,而是允許定義數(shù)量不限的標(biāo)記來(lái)描述文檔中的資料,允許嵌套的信息結(jié)構(gòu)。其特點(diǎn)如下:XML可以從HTML中分離數(shù)據(jù)XML可用于交換數(shù)據(jù)XML可應(yīng)用于B2B中利用XML可以共享數(shù)據(jù)XML可以充分利用數(shù)據(jù)XML可以用于創(chuàng)建新的語(yǔ)言-4-XML定義XML是一套定義語(yǔ)義標(biāo)記的規(guī)則,這些標(biāo)記將文檔分成許多部件并對(duì)這些部件加以標(biāo)識(shí)。XML是元標(biāo)記語(yǔ)言,即定義了用于定義與其他特定領(lǐng)域有關(guān)的、語(yǔ)義的、結(jié)構(gòu)化的標(biāo)記語(yǔ)言句法的語(yǔ)言。可以從以下幾個(gè)方面來(lái)定義XML:XML是一種類(lèi)似于HTML的標(biāo)記語(yǔ)言。XML是用來(lái)描述數(shù)據(jù)的。XML的標(biāo)記不是在XML中預(yù)定義的,用戶(hù)可以自定義標(biāo)記。XML使用文檔類(lèi)型定義(DTD)或者模式(SCHEMA)來(lái)描述數(shù)據(jù)。XML不是HTML的替代品,XML和HTML是兩種不同用途的語(yǔ)言。XML是用來(lái)描述數(shù)據(jù)的,側(cè)重描述什么是數(shù)據(jù),HTML是用來(lái)顯示數(shù)據(jù)的,側(cè)重描述如何顯示數(shù)據(jù);HTML是與顯示信息相關(guān)的,而XML則是與描述信息相關(guān)的。-5-XML簡(jiǎn)單示例示例9.1student.xmlIE查看結(jié)果對(duì)于XML文件,可以用IE5.0或以上版本來(lái)查看其內(nèi)容。如果在IE中打開(kāi)一個(gè)XML文檔,它將用顏色顯示文檔編碼的根和子元素。
<?xmlversion="1.0"?><!--FileName:student.xml--><students> <studentsex="male"> <name>Tom</name> <age>14</age> <tel>88889999</tel> </student> <studentsex="female"> <name>Rose</name> <age>16</age> <tel>66667777</tel> </student> <studentsex="male"> <name>Jack</name> <age>15</age> </student></students>-6-XML文檔結(jié)構(gòu)XML文檔有兩個(gè)主要組成部分:序言(prolog)文檔元素(documentelement,即根元素)XML文檔的結(jié)構(gòu)-7-序言前述示例文檔的序言由兩行組成:第一行是XML聲明,說(shuō)明這是一個(gè)XML文檔,并且遵循XML1.0版的規(guī)范第二行是注釋。引入注釋可以增強(qiáng)文檔的可讀性,XML文檔的注釋是可選的XML聲明語(yǔ)句中通??梢杂腥缦聦傩裕簐ersion:該屬性是必須的,用于表明XML的版本,解析器對(duì)不同的版本的解析會(huì)有區(qū)別。encoding:該屬性是可選的,用于表明該文檔所使用的字符編碼方式。standalone:該屬性定義了是否可以在不讀取任何其他文件的情況下處理該文檔,其屬性值可以是yes或no。<?xmlversion="1.0"?><!--FileName:student.xml-->-8-序言<?xmlversion="1.0"encoding="GB2312"?><學(xué)生花名冊(cè)> <學(xué)生性別="男"> <姓名>湯米</姓名> <年齡>14</年齡> <電話(huà)>88889999</電話(huà)> </學(xué)生> <學(xué)生性別="女"> <姓名>羅斯</姓名> <年齡>16</年齡> <電話(huà)>66667777</電話(huà)> </學(xué)生> <學(xué)生性別="男"> <姓名>杰克</姓名> <年齡>15</年齡> </學(xué)生></學(xué)生花名冊(cè)>示例9.2student_gb2312.xml示例XML代碼中,由于存在中文字符,需要在XML聲明中引入encoding屬性,并設(shè)置屬性值為“GB2312”,否則將會(huì)顯示字符編碼錯(cuò)誤,如上圖所示。-9-文檔元素文檔元素XML文檔第二個(gè)主要部分是文檔元素一個(gè)典型的元素有起始標(biāo)簽、元素內(nèi)容和結(jié)束標(biāo)簽。元素的內(nèi)容可以是字符數(shù)據(jù)、其他(嵌套的)元素或者兩者的組合整個(gè)XML文檔就是由標(biāo)記和字符數(shù)據(jù)混合成的,標(biāo)記是用來(lái)描述文檔結(jié)構(gòu)的定界文本-10-XML文檔內(nèi)容XML文檔必須有一個(gè)根元素,用來(lái)包含可能有的其他內(nèi)容。XML文檔中的所有內(nèi)容都應(yīng)該出現(xiàn)在根元素的內(nèi)部。在遵守XML命名規(guī)則的前提下,用戶(hù)可以為元素和屬性選擇任何名字。XML文檔內(nèi)容的主體部分一般由根元素,各級(jí)子元素,屬性,注釋和內(nèi)容組成XML文檔的內(nèi)容結(jié)構(gòu)
如右圖所示:-11-XML元素元素是XML文檔的基本組成部分。所有的XML數(shù)據(jù)(除了注釋、PI和空白)都必須包含在元素中XML中元素使用標(biāo)記進(jìn)行分隔,標(biāo)記由一對(duì)尖括號(hào)(“<>”)圍住元素名稱(chēng)構(gòu)成起始標(biāo)記
起始標(biāo)記是一個(gè)包含在尖括號(hào)里的元素名稱(chēng),下面是一些合法的起始標(biāo)記:<student>,<Student>,<STUDENT>XML是大小寫(xiě)敏感的,所以前三個(gè)例子不是等同的標(biāo)記元素名稱(chēng)類(lèi)型名可以使用任何合法字母,而不一定是ASCII碼字符結(jié)束標(biāo)記
結(jié)束標(biāo)記由一個(gè)斜杠和元素名稱(chēng)組成,被括在一對(duì)尖括號(hào)中
帶有完整的起始、結(jié)束標(biāo)記的元素應(yīng)該是如下形式:<自定義標(biāo)記>包含的內(nèi)容</自定義標(biāo)記>-12-XML元素元素分類(lèi)空元素:不包含任何文本或子元素含有文本的元素含其他元素的元素:包含子元素的元素混合元素:既含有文本也含有子元素元素嵌套
在XML文檔中使用元素嵌套,應(yīng)注意以下幾點(diǎn)要求:元素必須含有開(kāi)始標(biāo)簽和結(jié)束標(biāo)簽在沒(méi)有內(nèi)容(空元素)的情況下,建議使用省略寫(xiě)法:<student/>標(biāo)簽名稱(chēng)必須符合XML命名規(guī)則元素必須正確地嵌套<student></student><name>Rose</name><studentsex="male"> <name>Tom</name></student><studentsex="male">大一四班<name>Tom</name></student>-13-XML屬性XML元素的屬性是對(duì)標(biāo)記進(jìn)一步的描述和說(shuō)明,一個(gè)標(biāo)記可以有多個(gè)屬性,如:特定的屬性名稱(chēng)在同一個(gè)元素標(biāo)記中只能出現(xiàn)一次;屬性值不能包括“<”、“>”、“&”下面的兩種寫(xiě)法在一般情況下是沒(méi)有區(qū)別的,雙引號(hào)的寫(xiě)法更普遍一些<studentsex="male"></student><studentsex="male"></student><studentsex='male'></student>-14-在XML中,可以將屬性改寫(xiě)為嵌套的子元素
可以改寫(xiě)為:<studentsex='female'> <name>Rose</name> <age>16</age> <tel>66667777</tel></student>XML屬性<student> <sex>female</sex> <name>Rose</name> <age>16</age> <tel>66667777</tel></student>上述兩種寫(xiě)法都能夠正確的描述數(shù)據(jù),但在XML中,最好避免使用屬性。-15-注釋XML中,注釋以<!--開(kāi)始,以-->結(jié)束,除了在XML聲明之前,注釋可以出現(xiàn)在XML文檔的其他任何位置在進(jìn)行XML解析時(shí),注釋內(nèi)的任何標(biāo)記都被忽略在添加注釋時(shí)需要遵循以下規(guī)則:注釋里不能包含文本“--”注釋不能包含于標(biāo)記內(nèi)部元素中的開(kāi)始標(biāo)簽或結(jié)束標(biāo)簽不能被單獨(dú)注釋掉<!--這里是注釋信息--><!--FileName:student.xml-->-16-字符引用和實(shí)體引用字符引用實(shí)際處理過(guò)程中,不在鍵盤(pán)上的字符或是圖形字符無(wú)法直接輸入,這種情況下,可以使用Unicode碼將它們以字符引用的形式加入實(shí)體引用實(shí)體引用允許在元素內(nèi)容或?qū)傩灾抵胁迦肴魏巫址?,這就為字符引用提供了一種助記的替代方式實(shí)體引用方式是在一個(gè)合法的XML名字前面加上一個(gè)符號(hào)“&”,后面加上一個(gè)分號(hào)“;”示例9.3chars.xml示例9.4chars2.xml-17-CDATA節(jié)如果存在大量的特殊字符,可以將包含限制字符的文本放在CDATA節(jié)中。CDATA節(jié)以“<![CDATA[”開(kāi)始,并以“]]>”結(jié)束。CDATA節(jié)中的所有字符都會(huì)被當(dāng)作元素字符數(shù)據(jù)的常量部分,而不是XML標(biāo)記。在使用CDATA節(jié)時(shí),應(yīng)注意以下幾個(gè)細(xì)節(jié):CDATA節(jié)可以在任何出現(xiàn)字符數(shù)據(jù)的地方使用,但不能出現(xiàn)在XML標(biāo)記中CDATA節(jié)必須包含在元素中CDATA節(jié)之間不能再包含CDATA節(jié)(不能嵌套)示例9.5CDATA.xml-18-處理指令實(shí)際開(kāi)發(fā)過(guò)程中,經(jīng)常需要把某些信息通過(guò)文檔傳遞給應(yīng)用程序,處理指令(ProcessingInstruction,PI)正是XML為此目的提供的一種機(jī)制處理指令的語(yǔ)法形式如下:target是指令所指向的應(yīng)用的名稱(chēng),是必須的部分instruction是一個(gè)字符串表示,它可能包含任何有效的字符(除了“?>”)<?targetinstruction?>示例9.6PI.xml演示了處理指令的使用-19-XML文檔規(guī)則格式良好的XML文檔規(guī)則:必須有聲明語(yǔ)句注意大小寫(xiě)XML文檔有且只有一個(gè)根元素屬性值使用引號(hào)所有的標(biāo)記必須有相應(yīng)的結(jié)束標(biāo)記所有的空標(biāo)記也必須被關(guān)閉標(biāo)記必須正確嵌套處理特殊字符-20-有效的XML文檔一個(gè)有效的XML文檔應(yīng)該既是一個(gè)格式良好的XML文檔,同時(shí)還必須是符合DTD或是XML模式所定義規(guī)則的XML文檔<?xmlversion="1.0"encoding="GB2312"?><!ELEMENTPRODUCTS(PRODUCT)+><!ELEMENTPRODUCT(PRODUCTNAME,DESCRIPTION,PRICE,QUANTITY)><!ELEMENTPRODUCTNAME(#PCDATA)><!ELEMENTDESCRIPTION(#PCDATA)><!ELEMENTPRICE(#PCDATA)><!ELEMENTQUANTITY(#PCDATA)><!ATTLISTPRODUCTPRODUCTIDID#REQUIREDCATEGORY(BOOKS|TOYS)"TOYS">示例9.8product.dtd為DTD定義文檔-21-有效的XML文檔下面的XML是一個(gè)符合前述DTD文檔的有效的XML文檔:DTD定義了XML文檔中可用的合法元素。它通過(guò)定義一系列合法的元素決定了XML文檔的內(nèi)部結(jié)構(gòu)XMLSchema(XML模式)是基于XML的DTD的替代品。<?xmlversion="1.0"encoding="GB2312"?><!DOCTYPEPRODUCTDATASYSTEM"product.dtd"><PRODUCTS> <PRODUCTPRODUCTID="P001"CATEGORY="TOYS"> <PRODUCTNA
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)商務(wù)活動(dòng)策劃與組織制度
- 2026湖北省定向浙江大學(xué)選調(diào)生招錄考試備考題庫(kù)附答案
- 2026甘肅省隴南市徽縣恒輝學(xué)校招聘參考題庫(kù)附答案
- 2026福建省面向北京師范大學(xué)選調(diào)生選拔工作考試備考題庫(kù)附答案
- 2026西藏日喀則市薩迦縣選(聘)任社區(qū)工作者20人參考題庫(kù)附答案
- 2026重慶對(duì)外建設(shè)(集團(tuán))有限公司招聘項(xiàng)目經(jīng)理、項(xiàng)目總工程師等崗位11人備考題庫(kù)附答案
- 2026陜西省面向中國(guó)海洋大學(xué)招錄選調(diào)生備考題庫(kù)附答案
- 2026順義區(qū)大孫各莊社區(qū)衛(wèi)生服務(wù)中心第一次編外招聘4人參考題庫(kù)附答案
- 興國(guó)縣2025年公開(kāi)選調(diào)鄉(xiāng)鎮(zhèn)敬老院院長(zhǎng)的備考題庫(kù)附答案
- 吉安市2025年度市直事業(yè)單位公開(kāi)選調(diào)工作人員【70人】備考題庫(kù)附答案
- 安徽省蕪湖市鳩江區(qū)2024-2025學(xué)年高一上學(xué)期期末考試生物試卷
- 2025年對(duì)中國(guó)汽車(chē)行業(yè)深度變革的觀察與思考報(bào)告
- GB/Z 21437.4-2025道路車(chē)輛電氣/電子部件對(duì)傳導(dǎo)和耦合引起的電騷擾試驗(yàn)方法第4部分:沿高壓屏蔽電源線的電瞬態(tài)傳導(dǎo)發(fā)射和抗擾性
- 安徽省六校聯(lián)考2025-2026學(xué)年高三上學(xué)期素質(zhì)檢測(cè)語(yǔ)文試題及參考答案
- 四川省眉山市東坡區(qū)蘇祠共同體2024-2025學(xué)年七年級(jí)上學(xué)期期末英語(yǔ)試題(含答案)
- 2026年高考物理二輪復(fù)習(xí)策略講座
- 2025杭州市市級(jí)機(jī)關(guān)事業(yè)單位編外招聘10人(公共基礎(chǔ)知識(shí))測(cè)試題附答案
- 通往2026:中國(guó)消費(fèi)零售市場(chǎng)十大關(guān)鍵趨勢(shì)-尼爾森iq-202512
- 6.3 哪個(gè)團(tuán)隊(duì)收益大 教學(xué)設(shè)計(jì) 2025-2026學(xué)年數(shù)學(xué)北師大版八年級(jí)上冊(cè)
- 福建省泉州市晉江市2024-2025學(xué)年八年級(jí)上學(xué)期1月期末考試英語(yǔ)試題(含答案無(wú)聽(tīng)力音頻及原文)
- 影院映前廣告方案
評(píng)論
0/150
提交評(píng)論