第1章 XML概述電子課件_第1頁
第1章 XML概述電子課件_第2頁
第1章 XML概述電子課件_第3頁
第1章 XML概述電子課件_第4頁
第1章 XML概述電子課件_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第1章XML概述

1.2XML文件的操作

1.3XML基礎(chǔ)知識

1.4XML解析器

1.5XML的應(yīng)用領(lǐng)域

1.1什么是XML

XML是eXtensibleMarkupLanguage的縮寫,稱為可擴展標記語言。1998年2月W3C正式推出了XML(XML1.0)。

XML的前身是SGML(StandardGeneralizedMarkupLanguage,標準通用標記語言)。

XML是一種簡單的數(shù)據(jù)存儲語言,使用一系列簡單的標記描述數(shù)據(jù),它可以標記任何一種事物。XML同時也是一組規(guī)范,讀者都遵守這一規(guī)范來開發(fā)自己的軟件或信息。這樣,不同的計算機之間就可以相互交流信息。

1.1什么是XML

1.1.1XML程序?qū)嵗?/p>

1.1.2XML的特性

1.1.3XML與HTML的區(qū)別

返回<?xmlversion="1.0"encoding="gb2312"?><persions><persion><name>小張</name><sex>male</sex><birthday>1983.10.25</birthday></persion><persion><name>小王</name><sex>female</sex><birthday>2003.10.20</birthday></persion></persions>下面先看一個簡單XML文件,讓讀者對XML有一個初步的認識。具體代碼如下:XML程序?qū)嵗?1)上面的XML文件是一個規(guī)范的XML文件,第一行代碼:

是XML的聲明部分,聲明了XML的版本、采用的編碼等信息。XML的聲明必須寫在程序的第一行,規(guī)范的XML文件必須含有該語句。接下來的12行內(nèi)容是XML文件的主體部分,所使用的標記都是自己定義的,其中最外面的標記<persions>和</persions>稱為根標記。在XML文件中,必須包含根標記且唯一,其他的標記都包含在根標記內(nèi)部,必須成對出現(xiàn)。

返回XML程序?qū)嵗?)<?xmlversion="1.0"encoding="gb2312"?>XML的特性(1)XML的跨平臺型,它提供了一種不同的應(yīng)用程序之間進行數(shù)據(jù)庫交換的公共標準,是一種公共的交互平臺

實現(xiàn)不同應(yīng)用程序之間的數(shù)據(jù)交互

XML的特性(2)XML則是存儲并用來傳輸數(shù)據(jù)的標記語言。一個XML文件并不決定數(shù)據(jù)的顯示樣式,數(shù)據(jù)的顯示部分必須由其他語言來解決(通常是CSS),這樣就可以按照用戶的意愿來給一份數(shù)據(jù)任意添加多種樣式。一種數(shù)據(jù)多種樣式Web服務(wù)器XML文件樣式1樣式2樣式3樣式4顯示效果1顯示效果2顯示效果3顯示效果4XML的特性(3)XML可以在Internet上自由傳送??蛻艨梢酝ㄟ^應(yīng)用軟件從XML文檔中提取數(shù)據(jù),進而它進行編輯和處理。這種情況下的數(shù)據(jù)處理可以在客戶端完成,原來的HTML標記語言的更改都必須在服務(wù)器上進行,都要導(dǎo)致整個頁面的數(shù)據(jù)的全部重新傳輸。

實現(xiàn)數(shù)據(jù)的分布式處理Web服務(wù)器XML文件DOM操作1操作2操作3操作4顯示

XML的特性

(4)HTML語法結(jié)構(gòu)比較簡單,這種簡單性對于HTML的推廣、甚至對于Intenrnet的普及都起到了不可忽視的作用。同樣,XML繼承了簡單易學(xué)的特性,這也是XML標記語言創(chuàng)立之初的一個重要的標準。另一方面,它的功能十分強大,單獨一份XML文檔在一個樣式文件的配合下,就可以將XML中的數(shù)據(jù)顯示成為頁面,達到和HTML文件相同的顯示效果。

簡單易學(xué)、功能強大返回XML與HTML的區(qū)別(1)

HTML語言是用來格式化Web數(shù)據(jù)的語言,采用國際上通用的標記。每一個標記都有其固定的用法,只要記住每一個標記的用法,就可以編輯HTML文件。HTML的語法也相當寬松,標記不一定要配對使用,而且對大小寫也不敏感。HTML語言把數(shù)據(jù)和它們顯示格式捆綁在一起,不能夠很好的描述數(shù)據(jù)的結(jié)構(gòu)。也就是說,HTML語言本質(zhì)上是一種格式顯示語言。與HTML語言不同的是,XML語言有很強的擴展性,它允許自定義標記。用戶可以根據(jù)自己的需要制定出一套適用于自身的標記,并利用這些標記來描述自己領(lǐng)域的信息。盡管用戶可以自己定義標記,但是,XML語言有其嚴格的語法規(guī)則。在XML語言中,標記必須成對使用,并嚴格區(qū)分名稱的大小寫。XML語言的特點就是將信息的內(nèi)容和它們的顯示樣式區(qū)分開來,XML語言被設(shè)計用來描述數(shù)據(jù),其焦點是數(shù)據(jù)的內(nèi)容

XML與HTML的區(qū)別(2)

目前,XML不但沒有代替HTML,還與HTML一起使用,并且極大地擴展了Web頁的能力,使Web頁能夠:●

傳遞任意類型的文檔。●

用其他方法排序、過濾、重新排列、查找以及管理信息?!?/p>

顯示高度結(jié)構(gòu)化的信息??傊琗ML可以與HTML進行互操作,大大增加了頁面的靈活性。

返回1.2XML文件的操作

XML文件的操作包括編輯、保存和運行1.2.1XML文件的編輯

1.2.2XML文件的保存

1.2.3XML文件的運行

返回XML文件的編輯

(1)一個XML文件就是一個文本文件,因此,讀者可以使用純文本編輯器(Windows的“記事本”)來編輯XML文件。目前存在一些流行的XML編譯器,如MicrosoftXMLParser、XMLSPY、XMLwriter和JavaTMXMLPark等。

在編寫XML文件時需要注意以下幾點:根標記必須唯一標記大小寫敏感標記必須成對出現(xiàn),正確嵌套屬性值必須用引號括起來

XML文件的編輯

(2)打開記事本,輸入內(nèi)容如下,注意區(qū)分大小寫:

返回XML文件的保存

XML文件的擴展名為“.xml”。如果XML文件指定了文件的編碼,則在保存時也必須使用同樣的編碼,這樣XML解析器才能識別XML中的標記并能正確的解析出所標記的內(nèi)容。保存前面的文件:

返回XML文件的運行

XML文件一般是配合其他應(yīng)用程序而使用的,要想單獨運行XML文件,最簡單的方法就是用IE瀏覽器直接打開XML文件。用IE6.0打開編輯后的XML文件,如果是一個規(guī)范的XML文件,瀏覽器就會顯示出XML的源文件。

返回1.3XML基礎(chǔ)知識

1.3.1XML的定義

1.3.2XML的設(shè)計目標

1.3.3XML的樣式語言

1.3.4XML的鏈接語言

1.3.5XML的名稱空間

1.3.6XML的文檔對象模型

1.3.7XML的文檔類型定義

1.3.8XML的文檔類型模式

返回XML的定義

XML(eXtensibleMarkupLanguage,可擴展標記語言),是由萬維網(wǎng)聯(lián)盟(WorldWideWebConsortium,W3C)定義的一種數(shù)據(jù)交換的規(guī)范,是Web上的數(shù)據(jù)通用語言。W3C是這樣描述XML的:“擴展標記語言(XML)是SGML的子集,其目標是允許普通的SGML在Web上以目前HTML的方式被服務(wù)、接收和處理。XML被設(shè)計成易于實現(xiàn),且可在SGML和HTML之間互相操作?!?/p>

返回XML的設(shè)計目標(1)

(1)XML應(yīng)該可以在Internet上直接使用,支持各類不同的應(yīng)用程序。設(shè)計XML的目標就是使XML成為一個標準,供其它類型軟件使用。(2)XML應(yīng)該與SGML兼容。XML是SGML的一個特殊用途的子集。這個好處是SGML軟件工具可以輕易地加入來和XML共同運作。(3)應(yīng)該很容易撰寫處理XML文件的程序。如果XML要能夠廣泛地被應(yīng)用,那么瀏覽器與其它負責處理XML文件的程序應(yīng)該要很容易撰寫。推出XML的主要原因就是因為撰寫負責處理SGML文件程序太復(fù)雜。

XML的設(shè)計目標(2)

(4)XML中的選擇性功能的數(shù)目少,理想情況是零。在XML中使用最少數(shù)目的選擇性功能讓開發(fā)人員在撰寫程序來處理XML文件時變得較為容易。在SGML中有很多選擇性功能,使得SGML更靈活,功能更強大,同時也導(dǎo)致了SGML的高復(fù)雜性,被認為無法定義網(wǎng)站文件的主要原因。XML的這個目標也保證了XML的跨平臺性。

(5)XML文件應(yīng)該是結(jié)構(gòu)合理內(nèi)容清楚的。XML的設(shè)計目標是使之成為一個世界上使用者與應(yīng)用程序之間往來信息的通用的媒介。XML類似于一個數(shù)據(jù)庫,但又區(qū)別于數(shù)據(jù)庫,因為XML文件是以純文字撰寫且擁有邏輯的樹狀結(jié)構(gòu)。所以XML文件應(yīng)該可以被人或計算機輕易地閱讀。XML的設(shè)計目標(3)返回(6)XML的設(shè)計應(yīng)該簡捷。由于SGML的高復(fù)雜性,使其不能被廣泛應(yīng)用,所以XML只有在程序設(shè)計人員與使用者愿意接受它的情況下才能成為可實行的標準。因而該標準要盡力避免這一現(xiàn)象,成為一種很容易被人們使用的標記語言。(7)XML的設(shè)計應(yīng)該語法嚴格并且簡潔。這一目標使得XML處理軟件變得更為容易,進而促進了XML被接受的可能性。(8)XML文件應(yīng)該容易建立。XML的出現(xiàn)是為了讓所有人都能夠使用,所以XML應(yīng)該簡單明了,任何人都能夠輕松地創(chuàng)建XML文件。(9)簡化XML標簽是最不重要的。XML不應(yīng)該為了簡潔而簡化,XML標簽不能太過簡潔而使其難以閱讀。XML的樣式語言(1)XML的特點就是數(shù)據(jù)與樣式的分離,不提供顯示數(shù)據(jù)的功能。W3C提供了兩種通用的樣式語言,CSS(CascadingStyleSheet,層疊樣式表)和XSL(eXtensibleStyleLanguage,可擴展樣式語言)。

CSS(CascadingStyleSheet,層疊樣式表)是一種樣式控制語言,用來設(shè)置字體樣式等內(nèi)容,CSS就是一組規(guī)則的集合。

XSL是一種特殊的XML文件,XSL分為兩個部分:變換語言:FormattingObjects格式化語言:XSL-FO

XML的樣式語言(2)使用CSS顯示XML數(shù)據(jù)內(nèi)容:CSS文件內(nèi)容:name{display:block;font-size:18px;}sex{display:block;font-size:18px;}birthday{display:block;font-size:18px;}XML文件內(nèi)容:<?xmlversion="1.0“encoding="gb2312"?><?xml-stylesheettype="text/css“

href="show.css"?><persions><persion><name>小張</name><sex>male</sex><birthday>1983.10.25</birthday></persion><persion><name>小王</name><sex>female</sex><birthday>2003.10.20</birthday></persion></persions>顯示效果:XML的樣式語言(3)返回使用XSL顯示同一XML文件數(shù)據(jù)內(nèi)容:XSL文件代碼:<?xmlversion="1.0"?><xsl:stylesheetversion="1.0“xmlns:xsl="/1999/XSL/Transform"><xsl:templatematch="/"><html><body><center>

<tableborder="1"><tr><td>nmae</td><td>sex</td><td>birthday</td></tr><xsl:for-eachselect="persions/persion"><tr><td><xsl:value-ofselect="name"/></td><td><xsl:value-ofselect="sex"/></td><td><xsl:value-ofselect="birthday"/><br/></td></tr></xsl:for-each></table></center></body></html></xsl:template></xsl:stylesheet>顯示效果:XML的鏈接語言在XML中鏈接語言有3部分:Xpath、Xlink和Xpointer。

Xpath是如何在XML文件中快速查找到某個特定標記的語言,可用來在XML文檔中對元素和屬性進行遍歷。

Xlink的目的是描述Internet上任何一個頁面上任何一個部分和Internet上其他頁面中的某些部分之間關(guān)系的一種語言。XLink的一個重要應(yīng)用是用于超文本鏈接。簡單的超文本情況類似于HTML中的A元素,但XLink中定義的鏈接遠遠超出了目前使用的HTML鏈接。XLink可以有多個鏈接終點,可以從不同的方向進行遍歷,而且還可以將鏈接存儲于獨立于引用文檔的數(shù)據(jù)庫中。

Xpointer是對Xpath概念和尋址方法的擴展,可以直接在URL中對XML文件的不同部分進行尋址,為XML的超鏈接提供基礎(chǔ)條件。

返回XML的名稱空間XML最大的特點就是其擴展性,它允許用戶自己定義適合自己的標記,這個特點給了用戶非常大的自由空間,但同時也出現(xiàn)了標記名稱可能重復(fù)的問題。對于相同名稱的標記,解析器在解析的時候就很難分辨。為了區(qū)分這些標記,W3C制定了名稱空間的機制,即在標記或?qū)傩悦智懊婕由线@個標記歸屬。通過這樣的方法,就能夠輕松區(qū)分相同名字的標記或?qū)傩?。例如?lt;?xmlversion=”1.0”?><studentsxmlns:p1=“jilin”xmlns:p2=“l(fā)iaoning”><p1:張三>出生日期:1980.10.10</p1:張三><p2:張三>出生日期:1981.11.12</p2:張三></students>返回XML的文檔對象模型文檔對象模型(DocumentObjectModel,DOM)提供了一種從其他的應(yīng)用程序中調(diào)用或管理XML數(shù)據(jù)的方法。處理方法是將一個XML文檔看作一個對象,通過固定的方法和屬性對XML文檔的不同標記進行讀寫。

返回XML的文檔類型定義DTD(DocumentTypeDefination)就是進行文檔類型定義一種的語言,DTD是一種定義標記語言的語言。在DTD文件中可以定義XML文件使用標記、屬性和實體以及它們之間的嵌套關(guān)系。DTD文件是XML文件的類型定義文件,相當于XML文件的法律性文件,如果一個XML文件不滿足其關(guān)聯(lián)的DTD文件的約束,就不能稱之為一個有效的XML文件。下面是一個簡單的DTD文檔:

<!ELEMENTpersions(persion*)><!ELEMENTpersion(name,sex,birthday)><!ELEMENTname(#PCDATA)><!ELEMENTsex(#PCDATA)><!ELEMENTbirthday(#PCDATA)>返回XML的文檔類型模式DTD只能限制該標記只能有文本數(shù)據(jù)還是子標記,而對于文本數(shù)據(jù)卻不能限制文本數(shù)據(jù)的實際意義。為此,W3C又定義了一個標記語言XMLSchema。Schema不僅能實現(xiàn)DTD的功能,而且還能定義文本數(shù)據(jù)的實際意義。Schema文件是XML文件的模式定義文件。下面是一個簡單的Schema文件。Schema文件示例返回1.4XML解析器XML解析器可以提取出自己想要的數(shù)據(jù),或分析一個XML文件是否有語法錯誤、文件的結(jié)構(gòu)和標記的使用是否正確。

1.4.1

XML解析器的簡介1.4.2XML解析器解析文件的步驟

返回XML解析器的簡介XML的解析器分成兩大類:綜合的解析器和專用的解析器。綜合的解析器除了具有分析XML文件代碼語法的功能外,還具有其他的功能,如解析出需要的數(shù)據(jù)等,IE6.0就是一個綜合的解析器。專用的解析器就是一個應(yīng)用程序,是為了某一特定的功能而設(shè)計的,只能分析出一段XML程序是否合法等,如:微軟的MSXML。綜合的解析器又分為:基于DOM的解析器和基于事件的解析器。

DOM解析器的核心是在內(nèi)存中建立一個和XML文件相對應(yīng)的樹形的數(shù)據(jù)結(jié)構(gòu),會占用很多的內(nèi)存空間,適用于小型的XML文件。

基于事件的解析器在解析的過程中,并不在內(nèi)存中建立這樣的一個樹形結(jié)構(gòu),它的核心是事件處理機制,解析器會把XML文件轉(zhuǎn)換成事件流的形式傳遞給解析器的處理器,處理器逐個地對每一個事件進行處理。所以,基于事件的解析器占用很少的內(nèi)存,具有更高的工作效率,可以解析大型的XML文件

返回XML解析器解析文件的步驟(1)DOM解析器解析XML文件的一般步驟如下:(1)掃描命令行得到XML文件名。(2)創(chuàng)建一個解析器對象。(3)告訴解析器解析命令行中給定的XML文件。(4)遍歷DOM結(jié)果樹向標準輸出打印。

DOM是處理XML數(shù)據(jù)的傳統(tǒng)方法。DOM以一個分層的對象模型來映射XML文檔,數(shù)據(jù)以樹狀結(jié)構(gòu)的形式被加載到內(nèi)存中處理。由于內(nèi)存中的樹是持久的,因此,可以修改它以便應(yīng)用程序能對數(shù)據(jù)和結(jié)構(gòu)作出更改。

XML解析器解析文件的步驟(2)SAX解析器解析XML文件的一般步驟是:

(1)創(chuàng)建一個事件處理器。(2)創(chuàng)建SAX解析器。(3)向解析器分配事件處理器。(4)解析文檔,同時向事件處理器發(fā)送每個事件。

SAX解析器將文檔中的每個對象轉(zhuǎn)化為事件來處理,檢測一個即將到來的XML事件流,由此并不需要將所有的XML代碼同時載入到內(nèi)存中。因此占用的內(nèi)存小,處理速度也快于DOM。

返回1.5XML的應(yīng)用領(lǐng)域(1)XML應(yīng)用非常廣泛,XML的應(yīng)用主要分為兩種類型,數(shù)據(jù)型和文檔型。下面介紹一下幾種常見的XML應(yīng)用:

(1)XML作為微型數(shù)據(jù)庫,這是數(shù)據(jù)型應(yīng)用之一。我們利用相關(guān)的XMLAPI(MSXMLDOM、JavaDOM等)對XML進行存取和查詢。(2)作為通信數(shù)據(jù)。最典型的就是WebService,利用XML來傳遞數(shù)據(jù)。(3)作為一

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論