《Web編程基礎(chǔ)》課件第9章 XML概述_第1頁
《Web編程基礎(chǔ)》課件第9章 XML概述_第2頁
《Web編程基礎(chǔ)》課件第9章 XML概述_第3頁
《Web編程基礎(chǔ)》課件第9章 XML概述_第4頁
《Web編程基礎(chǔ)》課件第9章 XML概述_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

-1-了解XML的歷史了解XML的特點了解XML的基本特征掌握XML的文檔結(jié)構(gòu)掌握XML文檔的組成要素及其使用掌握格式良好的XML文檔的規(guī)則了解有效XML文檔的實現(xiàn)方式掌握基本XML文檔的編寫目標(biāo)-2-XML概述XML(eXtensibleMarkupLanguage,可擴展標(biāo)記語言)是一種元語言,是Internet環(huán)境中的一種跨平臺的、依賴于內(nèi)容的技術(shù),是當(dāng)今處理分布式結(jié)構(gòu)信息的有效工具XML有兩個先驅(qū):SGML

(StandardGeneralizedMarkupLanguage,標(biāo)準(zhǔn)通用標(biāo)志語言)HTML

HTML是一種界面技術(shù),它只使用了SGML中很少的一部分標(biāo)記。固定的語法使它易學(xué)易用,在計算機上開發(fā)HTML的瀏覽器也十分容易。在EDI(ElectronicDataInterchange,電子數(shù)據(jù)交換)應(yīng)用過程中,XML展現(xiàn)了如下的優(yōu)勢:低成本定制商業(yè)規(guī)則,XML允許用戶創(chuàng)建自己的商業(yè)規(guī)則和格式容易解釋平臺獨立-3-XML的基本特征XML是一個精簡的SGML子集,保留了SGML的可擴展功能。XML要比HTML強大得多,它不再是固定的標(biāo)記,而是允許定義數(shù)量不限的標(biāo)記來描述文檔中的資料,允許嵌套的信息結(jié)構(gòu)。其特點如下:XML可以從HTML中分離數(shù)據(jù)XML可用于交換數(shù)據(jù)XML可應(yīng)用于B2B中利用XML可以共享數(shù)據(jù)XML可以充分利用數(shù)據(jù)XML可以用于創(chuàng)建新的語言-4-XML定義XML是一套定義語義標(biāo)記的規(guī)則,這些標(biāo)記將文檔分成許多部件并對這些部件加以標(biāo)識。XML是元標(biāo)記語言,即定義了用于定義與其他特定領(lǐng)域有關(guān)的、語義的、結(jié)構(gòu)化的標(biāo)記語言句法的語言??梢詮囊韵聨讉€方面來定義XML:XML是一種類似于HTML的標(biāo)記語言。XML是用來描述數(shù)據(jù)的。XML的標(biāo)記不是在XML中預(yù)定義的,用戶可以自定義標(biāo)記。XML使用文檔類型定義(DTD)或者模式(SCHEMA)來描述數(shù)據(jù)。XML不是HTML的替代品,XML和HTML是兩種不同用途的語言。XML是用來描述數(shù)據(jù)的,側(cè)重描述什么是數(shù)據(jù),HTML是用來顯示數(shù)據(jù)的,側(cè)重描述如何顯示數(shù)據(jù);HTML是與顯示信息相關(guān)的,而XML則是與描述信息相關(guān)的。-5-XML簡單示例示例9.1student.xmlIE查看結(jié)果對于XML文件,可以用IE5.0或以上版本來查看其內(nèi)容。如果在IE中打開一個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文檔有兩個主要組成部分:序言(prolog)文檔元素(documentelement,即根元素)XML文檔的結(jié)構(gòu)-7-序言前述示例文檔的序言由兩行組成:第一行是XML聲明,說明這是一個XML文檔,并且遵循XML1.0版的規(guī)范第二行是注釋。引入注釋可以增強文檔的可讀性,XML文檔的注釋是可選的XML聲明語句中通??梢杂腥缦聦傩裕簐ersion:該屬性是必須的,用于表明XML的版本,解析器對不同的版本的解析會有區(qū)別。encoding:該屬性是可選的,用于表明該文檔所使用的字符編碼方式。standalone:該屬性定義了是否可以在不讀取任何其他文件的情況下處理該文檔,其屬性值可以是yes或no。<?xmlversion="1.0"?><!--FileName:student.xml-->-8-序言<?xmlversion="1.0"encoding="GB2312"?><學(xué)生花名冊> <學(xué)生性別="男"> <姓名>湯米</姓名> <年齡>14</年齡> <電話>88889999</電話> </學(xué)生> <學(xué)生性別="女"> <姓名>羅斯</姓名> <年齡>16</年齡> <電話>66667777</電話> </學(xué)生> <學(xué)生性別="男"> <姓名>杰克</姓名> <年齡>15</年齡> </學(xué)生></學(xué)生花名冊>示例9.2student_gb2312.xml示例XML代碼中,由于存在中文字符,需要在XML聲明中引入encoding屬性,并設(shè)置屬性值為“GB2312”,否則將會顯示字符編碼錯誤,如上圖所示。-9-文檔元素文檔元素XML文檔第二個主要部分是文檔元素一個典型的元素有起始標(biāo)簽、元素內(nèi)容和結(jié)束標(biāo)簽。元素的內(nèi)容可以是字符數(shù)據(jù)、其他(嵌套的)元素或者兩者的組合整個XML文檔就是由標(biāo)記和字符數(shù)據(jù)混合成的,標(biāo)記是用來描述文檔結(jié)構(gòu)的定界文本-10-XML文檔內(nèi)容XML文檔必須有一個根元素,用來包含可能有的其他內(nèi)容。XML文檔中的所有內(nèi)容都應(yīng)該出現(xiàn)在根元素的內(nèi)部。在遵守XML命名規(guī)則的前提下,用戶可以為元素和屬性選擇任何名字。XML文檔內(nèi)容的主體部分一般由根元素,各級子元素,屬性,注釋和內(nèi)容組成XML文檔的內(nèi)容結(jié)構(gòu)

如右圖所示:-11-XML元素元素是XML文檔的基本組成部分。所有的XML數(shù)據(jù)(除了注釋、PI和空白)都必須包含在元素中XML中元素使用標(biāo)記進(jìn)行分隔,標(biāo)記由一對尖括號(“<>”)圍住元素名稱構(gòu)成起始標(biāo)記

起始標(biāo)記是一個包含在尖括號里的元素名稱,下面是一些合法的起始標(biāo)記:<student>,<Student>,<STUDENT>XML是大小寫敏感的,所以前三個例子不是等同的標(biāo)記元素名稱類型名可以使用任何合法字母,而不一定是ASCII碼字符結(jié)束標(biāo)記

結(jié)束標(biāo)記由一個斜杠和元素名稱組成,被括在一對尖括號中

帶有完整的起始、結(jié)束標(biāo)記的元素應(yīng)該是如下形式:<自定義標(biāo)記>包含的內(nèi)容</自定義標(biāo)記>-12-XML元素元素分類空元素:不包含任何文本或子元素含有文本的元素含其他元素的元素:包含子元素的元素混合元素:既含有文本也含有子元素元素嵌套

在XML文檔中使用元素嵌套,應(yīng)注意以下幾點要求:元素必須含有開始標(biāo)簽和結(jié)束標(biāo)簽在沒有內(nèi)容(空元素)的情況下,建議使用省略寫法:<student/>標(biāo)簽名稱必須符合XML命名規(guī)則元素必須正確地嵌套<student></student><name>Rose</name><studentsex="male"> <name>Tom</name></student><studentsex="male">大一四班<name>Tom</name></student>-13-XML屬性XML元素的屬性是對標(biāo)記進(jìn)一步的描述和說明,一個標(biāo)記可以有多個屬性,如:特定的屬性名稱在同一個元素標(biāo)記中只能出現(xiàn)一次;屬性值不能包括“<”、“>”、“&”下面的兩種寫法在一般情況下是沒有區(qū)別的,雙引號的寫法更普遍一些<studentsex="male"></student><studentsex="male"></student><studentsex='male'></student>-14-在XML中,可以將屬性改寫為嵌套的子元素

可以改寫為:<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>上述兩種寫法都能夠正確的描述數(shù)據(jù),但在XML中,最好避免使用屬性。-15-注釋XML中,注釋以<!--開始,以-->結(jié)束,除了在XML聲明之前,注釋可以出現(xiàn)在XML文檔的其他任何位置在進(jìn)行XML解析時,注釋內(nèi)的任何標(biāo)記都被忽略在添加注釋時需要遵循以下規(guī)則:注釋里不能包含文本“--”注釋不能包含于標(biāo)記內(nèi)部元素中的開始標(biāo)簽或結(jié)束標(biāo)簽不能被單獨注釋掉<!--這里是注釋信息--><!--FileName:student.xml-->-16-字符引用和實體引用字符引用實際處理過程中,不在鍵盤上的字符或是圖形字符無法直接輸入,這種情況下,可以使用Unicode碼將它們以字符引用的形式加入實體引用實體引用允許在元素內(nèi)容或?qū)傩灾抵胁迦肴魏巫址?,這就為字符引用提供了一種助記的替代方式實體引用方式是在一個合法的XML名字前面加上一個符號“&”,后面加上一個分號“;”示例9.3chars.xml示例9.4chars2.xml-17-CDATA節(jié)如果存在大量的特殊字符,可以將包含限制字符的文本放在CDATA節(jié)中。CDATA節(jié)以“<![CDATA[”開始,并以“]]>”結(jié)束。CDATA節(jié)中的所有字符都會被當(dāng)作元素字符數(shù)據(jù)的常量部分,而不是XML標(biāo)記。在使用CDATA節(jié)時,應(yīng)注意以下幾個細(xì)節(jié):CDATA節(jié)可以在任何出現(xiàn)字符數(shù)據(jù)的地方使用,但不能出現(xiàn)在XML標(biāo)記中CDATA節(jié)必須包含在元素中CDATA節(jié)之間不能再包含CDATA節(jié)(不能嵌套)示例9.5CDATA.xml-18-處理指令實際開發(fā)過程中,經(jīng)常需要把某些信息通過文檔傳遞給應(yīng)用程序,處理指令(ProcessingInstruction,PI)正是XML為此目的提供的一種機制處理指令的語法形式如下:target是指令所指向的應(yīng)用的名稱,是必須的部分instruction是一個字符串表示,它可能包含任何有效的字符(除了“?>”)<?targetinstruction?>示例9.6PI.xml演示了處理指令的使用-19-XML文檔規(guī)則格式良好的XML文檔規(guī)則:必須有聲明語句注意大小寫XML文檔有且只有一個根元素屬性值使用引號所有的標(biāo)記必須有相應(yīng)的結(jié)束標(biāo)記所有的空標(biāo)記也必須被關(guān)閉標(biāo)記必須正確嵌套處理特殊字符-20-有效的XML文檔一個有效的XML文檔應(yīng)該既是一個格式良好的XML文檔,同時還必須是符合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是一個符合前述DTD文檔的有效的XML文檔:DTD定義了XML文檔中可用的合法元素。它通過定義一系列合法的元素決定了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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論