在ASPNET中使用XML_第1頁(yè)
在ASPNET中使用XML_第2頁(yè)
在ASPNET中使用XML_第3頁(yè)
在ASPNET中使用XML_第4頁(yè)
在ASPNET中使用XML_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第1頁(yè)第第13章章 在在ASP.NET中使用中使用XML本章概述 本章的學(xué)習(xí)目標(biāo)主要內(nèi)容ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第2頁(yè)本章概述本章概述lXML被稱(chēng)為可擴(kuò)展標(biāo)記語(yǔ)言被稱(chēng)為可擴(kuò)展標(biāo)記語(yǔ)言(eXtensible Markup Language),它提供了一種保存數(shù)據(jù)的格式,數(shù),它提供了一種保存數(shù)據(jù)的格式,數(shù)據(jù)可以通過(guò)這種格式很容易地在不同的應(yīng)用程序據(jù)可以通過(guò)這種格式很容易地在不同的應(yīng)用程序之間實(shí)現(xiàn)共享。之間實(shí)現(xiàn)共享。lXML是專(zhuān)為是專(zhuān)為Web設(shè)計(jì)的,設(shè)計(jì)的,.NET也把也把

2、XML作為應(yīng)用作為應(yīng)用程序之間傳遞數(shù)據(jù)的一種主要方法。前面章節(jié)簡(jiǎn)程序之間傳遞數(shù)據(jù)的一種主要方法。前面章節(jié)簡(jiǎn)單介紹了單介紹了XML的基本概念,本章將詳細(xì)介紹的基本概念,本章將詳細(xì)介紹XML在在ASP.NET中的使用。中的使用。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第3頁(yè)本章的學(xué)習(xí)目標(biāo)本章的學(xué)習(xí)目標(biāo)l了解了解XML的基本概念;的基本概念;l掌握如何利用掌握如何利用ADO.NET訪問(wèn)訪問(wèn)XML;l掌握如何利用掌握如何利用XML類(lèi)訪問(wèn)類(lèi)訪問(wèn)XML。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第4頁(yè)主要內(nèi)容主要內(nèi)容13.1 XML的基

3、本概念的基本概念13.2 使用使用ADO.NET訪問(wèn)訪問(wèn)XML13.3 使用使用.NET的的XML類(lèi)訪問(wèn)類(lèi)訪問(wèn)XML 13.4 XML的應(yīng)用和發(fā)展前景的應(yīng)用和發(fā)展前景13.5 本章小結(jié)本章小結(jié)ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第5頁(yè)13.1 XML的基本概念的基本概念lXML由萬(wàn)維網(wǎng)協(xié)會(huì)由萬(wàn)維網(wǎng)協(xié)會(huì)(W3C)創(chuàng)建,用來(lái)克服創(chuàng)建,用來(lái)克服 HTML(即超文即超文本標(biāo)記語(yǔ)言,它是所有網(wǎng)頁(yè)的基礎(chǔ)本標(biāo)記語(yǔ)言,它是所有網(wǎng)頁(yè)的基礎(chǔ))的局限。和的局限。和HTML一樣,一樣,XML基于基于 SGML標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言(Standard Generaliz

4、ed Markup Language)。XML是是SGML上的一上的一個(gè)子集,個(gè)子集,XML包含了包含了SGML很多特性,但是要比很多特性,但是要比SGML簡(jiǎn)簡(jiǎn)單得多。單得多。lXML是一種類(lèi)似于是一種類(lèi)似于HTML的標(biāo)記語(yǔ)言,但是的標(biāo)記語(yǔ)言,但是XML不是不是HTML的替代品,的替代品,XML和和HTML是兩種不同用途的語(yǔ)言,是兩種不同用途的語(yǔ)言,其中最主要的區(qū)別是:其中最主要的區(qū)別是:XML是專(zhuān)門(mén)用來(lái)描述文本的結(jié)構(gòu),是專(zhuān)門(mén)用來(lái)描述文本的結(jié)構(gòu),而不是用于描述如何顯示文本的,而而不是用于描述如何顯示文本的,而HTML則是用來(lái)描述則是用來(lái)描述如何顯示文本的。如何顯示文本的。ASP.NET 3.5

5、網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第6頁(yè)XML的基本結(jié)構(gòu)的基本結(jié)構(gòu) 11 Landy 女 1989-6-01 北京 12 陳曉旭 女 1987-3-12 北京 l第一行是第一行是XML版本說(shuō)明,其作用是告訴瀏覽器或者其他處版本說(shuō)明,其作用是告訴瀏覽器或者其他處理程序:這個(gè)文檔是理程序:這個(gè)文檔是XML文檔。其中:文檔。其中:version表示文檔表示文檔遵守的遵守的XML規(guī)范的版本,如該例中的規(guī)范的版本,如該例中的version 是是1.0;standalone表示文檔內(nèi)部包含文檔類(lèi)型定義表示文檔內(nèi)部包含文檔類(lèi)型定義DTD。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在

6、ASP.NET中使用XML第7頁(yè)XML的基本結(jié)構(gòu)的基本結(jié)構(gòu)l第一行是第一行是XML版本說(shuō)明,其作用是告訴瀏覽器或者其他處版本說(shuō)明,其作用是告訴瀏覽器或者其他處理程序:這個(gè)文檔是理程序:這個(gè)文檔是XML文檔。其中:文檔。其中:version表示文檔表示文檔遵守的遵守的XML規(guī)范的版本,如該例中的規(guī)范的版本,如該例中的version 是是1.0;standalone表示文檔內(nèi)部包含文檔類(lèi)型定義表示文檔內(nèi)部包含文檔類(lèi)型定義DTD。l第二行是第二行是XML注釋?zhuān)湔Z(yǔ)法與注釋?zhuān)湔Z(yǔ)法與HTML的注釋一樣。這并不的注釋一樣。這并不是一種巧合,因?yàn)槭且环N巧合,因?yàn)閄ML和和HTML都是從都是從SGML派生出

7、來(lái)的。派生出來(lái)的。XML文檔注釋不是強(qiáng)制性的,可以任意刪除。文檔注釋不是強(qiáng)制性的,可以任意刪除。l從第三行從第三行標(biāo)記一直到最后標(biāo)記一直到最后標(biāo)記,標(biāo)記,表示表示XML所包含的數(shù)據(jù)內(nèi)容。所包含的數(shù)據(jù)內(nèi)容。l可以看出,可以看出,XML文檔如同它的名字所指明的含義一樣,是文檔如同它的名字所指明的含義一樣,是一個(gè)用標(biāo)記語(yǔ)言創(chuàng)立的文檔。它使用了自定義的各種標(biāo)記一個(gè)用標(biāo)記語(yǔ)言創(chuàng)立的文檔。它使用了自定義的各種標(biāo)記來(lái)表示數(shù)據(jù)的含義。來(lái)表示數(shù)據(jù)的含義。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第8頁(yè)標(biāo)記、元素以及元素屬性標(biāo)記、元素以及元素屬性l標(biāo)記是左尖括號(hào)標(biāo)記是左尖括號(hào)()

8、之間的文本。有開(kāi)始標(biāo)之間的文本。有開(kāi)始標(biāo)記記(例如例如 )和結(jié)束標(biāo)記和結(jié)束標(biāo)記(例如例如 )。l元素是開(kāi)始標(biāo)記、結(jié)束標(biāo)記以及位于二者之間的所有內(nèi)容。元素是開(kāi)始標(biāo)記、結(jié)束標(biāo)記以及位于二者之間的所有內(nèi)容。在以上示例中,在以上示例中, 元素包含元素包含5個(gè)子元素:個(gè)子元素:、和和。 l屬性是一個(gè)元素的開(kāi)始標(biāo)記中的名稱(chēng)屬性是一個(gè)元素的開(kāi)始標(biāo)記中的名稱(chēng)-值對(duì)。在上面的示值對(duì)。在上面的示例中,例中,telephone是是元素的屬性。元素的屬性。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第9頁(yè)XML數(shù)據(jù)的顯示數(shù)據(jù)的顯示1. 使用使用XSL顯示顯示XML:XSL全稱(chēng)為全稱(chēng)為e

9、Xtensible Stylesheet Language(可擴(kuò)展樣式表語(yǔ)言可擴(kuò)展樣式表語(yǔ)言),是用來(lái)設(shè)計(jì),是用來(lái)設(shè)計(jì)XML文檔顯文檔顯示樣式的主要文件類(lèi)型。它本身也是基于示樣式的主要文件類(lèi)型。它本身也是基于XML語(yǔ)言的。語(yǔ)言的。XSL可以靈活地設(shè)置文檔顯示樣式,可以靈活地設(shè)置文檔顯示樣式,XSL可以將可以將XML轉(zhuǎn)化轉(zhuǎn)化為其他的文檔,比如為其他的文檔,比如HTML文檔,這樣,就可以在瀏覽器文檔,這樣,就可以在瀏覽器上顯示了。上顯示了。2. 使用使用CSS顯示顯示XML:用來(lái)在瀏覽器上顯示:用來(lái)在瀏覽器上顯示XML文檔的主文檔的主要方法。要方法。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章

10、在ASP.NET中使用XML第10頁(yè)主要內(nèi)容主要內(nèi)容13.1 XML的基本概念的基本概念13.2 使用使用ADO.NET訪問(wèn)訪問(wèn)XML13.3 使用使用.NET的的XML類(lèi)訪問(wèn)類(lèi)訪問(wèn)XML 13.4 XML的應(yīng)用和發(fā)展前景的應(yīng)用和發(fā)展前景13.5 本章小結(jié)本章小結(jié)ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第11頁(yè)13.2 使用使用ADO.NET訪問(wèn)訪問(wèn)XMLl在前面已經(jīng)討論了如何使用在前面已經(jīng)討論了如何使用ADO.NET訪問(wèn)數(shù)據(jù)庫(kù)的問(wèn)題。訪問(wèn)數(shù)據(jù)庫(kù)的問(wèn)題。數(shù)據(jù)庫(kù)是進(jìn)行數(shù)據(jù)存儲(chǔ)和管理的一種習(xí)慣的方式,現(xiàn)在,數(shù)據(jù)庫(kù)是進(jìn)行數(shù)據(jù)存儲(chǔ)和管理的一種習(xí)慣的方式,現(xiàn)在,XML

11、已逐步成為數(shù)據(jù)存儲(chǔ)的一種新的方式,因此可以考慮已逐步成為數(shù)據(jù)存儲(chǔ)的一種新的方式,因此可以考慮將數(shù)據(jù)保存在將數(shù)據(jù)保存在XML文檔中,并采用一定的方法對(duì)它進(jìn)行管文檔中,并采用一定的方法對(duì)它進(jìn)行管理。理。ADONET提供了對(duì)提供了對(duì)XML數(shù)據(jù)訪問(wèn)的功能。數(shù)據(jù)訪問(wèn)的功能。l下面介紹如何使用下面介紹如何使用ADONET訪問(wèn)訪問(wèn)XML數(shù)據(jù)。數(shù)據(jù)。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第12頁(yè)將數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)換成將數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)換成XMLl為了將數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)換成為了將數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)換成XML文檔,需要使用文檔,需要使用DataSet的的WriteXml方法。方法。WriteX

12、ml方法只要指明要保存的方法只要指明要保存的XML文文檔的路徑和文件名,就可以將檔的路徑和文件名,就可以將DataSet中數(shù)據(jù)以中數(shù)據(jù)以XML的形的形式保存到式保存到XML文檔中。文檔中。l詳細(xì)操作見(jiàn)詳細(xì)操作見(jiàn)【例例13-4】將數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)換成將數(shù)據(jù)庫(kù)數(shù)據(jù)轉(zhuǎn)換成XML文檔。文檔。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第13頁(yè)讀取讀取XML文檔文檔l使用使用DataSet的的ReadXml 方法可以讀取所有方法可以讀取所有XML文檔數(shù)文檔數(shù)據(jù)。讀取操作見(jiàn)據(jù)。讀取操作見(jiàn)【例例13-5】介紹讀取介紹讀取XML文檔的方法。文檔的方法。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)

13、實(shí)例教程第13章 在ASP.NET中使用XML第14頁(yè)編輯編輯XML文檔文檔l編輯編輯XML文檔的方法也很簡(jiǎn)單,只要使用文檔的方法也很簡(jiǎn)單,只要使用DataSet的的ReadXml 方法把方法把XML數(shù)據(jù)讀到數(shù)據(jù)讀到DataSet中之后,修改相中之后,修改相應(yīng)的記錄值,再使用應(yīng)的記錄值,再使用DataSet的的WriteXml方法保存方法保存XML文文檔就可以了。檔就可以了。l詳細(xì)操作見(jiàn)詳細(xì)操作見(jiàn)【例例13-6】編輯編輯XML文檔。文檔。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第15頁(yè)將將XML寫(xiě)入數(shù)據(jù)庫(kù)寫(xiě)入數(shù)據(jù)庫(kù)lXML文本內(nèi)容寫(xiě)入數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)的數(shù)據(jù)轉(zhuǎn)換

14、為文本內(nèi)容寫(xiě)入數(shù)據(jù)庫(kù)與數(shù)據(jù)庫(kù)的數(shù)據(jù)轉(zhuǎn)換為XML是是個(gè)相反的過(guò)程,需要用到個(gè)相反的過(guò)程,需要用到DataAdapter的的Update方法。方法。下面列舉一個(gè)簡(jiǎn)單的例子,將下面列舉一個(gè)簡(jiǎn)單的例子,將studentinfo.xml文檔中僅文檔中僅有的學(xué)號(hào)為有的學(xué)號(hào)為11和和12的兩位學(xué)生的數(shù)據(jù),寫(xiě)入到數(shù)據(jù)庫(kù)的的兩位學(xué)生的數(shù)據(jù),寫(xiě)入到數(shù)據(jù)庫(kù)的student表中。表中。l詳細(xì)操作見(jiàn)詳細(xì)操作見(jiàn)【例例13-7】將將XML寫(xiě)入數(shù)據(jù)庫(kù)。寫(xiě)入數(shù)據(jù)庫(kù)。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第16頁(yè)將將XML數(shù)據(jù)轉(zhuǎn)換為字符串?dāng)?shù)據(jù)轉(zhuǎn)換為字符串l如果希望進(jìn)行如果希望進(jìn)行XML數(shù)據(jù)傳

15、輸,那么把數(shù)據(jù)傳輸,那么把XML數(shù)據(jù)讀出之后數(shù)據(jù)讀出之后形成字符串,即把數(shù)據(jù)當(dāng)成字符串法進(jìn)行處理。例如可以形成字符串,即把數(shù)據(jù)當(dāng)成字符串法進(jìn)行處理。例如可以把數(shù)據(jù)寫(xiě)在一個(gè)普通的把數(shù)據(jù)寫(xiě)在一個(gè)普通的E-mail中發(fā)送給其他的用戶(hù),對(duì)方中發(fā)送給其他的用戶(hù),對(duì)方就可以采用普通字符串處理的方法得到數(shù)據(jù)。為了能夠完就可以采用普通字符串處理的方法得到數(shù)據(jù)。為了能夠完成上述功能,成上述功能,DataSet還提供了將還提供了將XML數(shù)據(jù)轉(zhuǎn)換為字符串?dāng)?shù)據(jù)轉(zhuǎn)換為字符串的方法的方法GetXml。l詳細(xì)操作見(jiàn)詳細(xì)操作見(jiàn)【例例13-8】將將XML數(shù)據(jù)轉(zhuǎn)換為字符串。數(shù)據(jù)轉(zhuǎn)換為字符串。ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程

16、第13章 在ASP.NET中使用XML第17頁(yè)主要內(nèi)容主要內(nèi)容13.1 XML的基本概念的基本概念13.2 使用使用ADO.NET訪問(wèn)訪問(wèn)XML13.3 使用使用.NET的的XML類(lèi)訪問(wèn)類(lèi)訪問(wèn)XML 13.4 XML的應(yīng)用和發(fā)展前景的應(yīng)用和發(fā)展前景13.5 本章小結(jié)本章小結(jié)ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第18頁(yè)13.3 使用使用.NET的的XML類(lèi)訪問(wèn)類(lèi)訪問(wèn)XMLlASP.NET通過(guò)通過(guò)System.Xml命名空間為開(kāi)發(fā)人員提供了操命名空間為開(kāi)發(fā)人員提供了操作作XML的所有功能。該命名空間包括許多類(lèi),常用類(lèi)如表的所有功能。該命名空間包括許多類(lèi),常用

17、類(lèi)如表所示。所示。類(lèi)說(shuō) 明XmlReader抽象的讀取器類(lèi),提供快速、沒(méi)有緩存的XML數(shù)據(jù)。XmlReader是只向前的,類(lèi)似于SAX分析器XmlWriter抽象類(lèi)的寫(xiě)入器,以流或文件的格式提供快速、沒(méi)有緩存的XML數(shù)據(jù)XmlTextReader擴(kuò)展XmlReader,提供訪問(wèn)XML數(shù)據(jù)的快速只向前流XmlTextWriter擴(kuò)展XmlWriter,快速生成只向前的XML流XmlNode抽象類(lèi),表示XML文檔中一個(gè)節(jié)點(diǎn)的類(lèi)。XML命名空間中幾個(gè)類(lèi)的基類(lèi)XmlDocument擴(kuò)展XmlNode,W3C DOM的實(shí)現(xiàn),給出XML文檔在內(nèi)存中的樹(shù)形表示,可以瀏覽和編輯它們XmlDataDocumen

18、t擴(kuò)展XmlDocument,即從XML數(shù)據(jù)中加載的文檔,或從ADO.NET DataSet的關(guān)系數(shù)據(jù)中加載的文檔,允許把XML和關(guān)系數(shù)據(jù)混合在同一個(gè)視圖中XmlResolver抽象類(lèi),分析基于XML的外部資源,例如DTD和模式引用,也可以用于處理和元素XmlUrlResolver擴(kuò)展XmlResolver,用URI(Uniform Resource Identifier)解析外部資源ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第19頁(yè)主要內(nèi)容主要內(nèi)容13.1 XML的基本概念的基本概念13.2 使用使用ADO.NET訪問(wèn)訪問(wèn)XML13.3 使用使用.NET的的

19、XML類(lèi)訪問(wèn)類(lèi)訪問(wèn)XML 13.4 XML的應(yīng)用和發(fā)展前景的應(yīng)用和發(fā)展前景13.5 本章小結(jié)本章小結(jié)ASP.NET 3.5網(wǎng)站開(kāi)發(fā)實(shí)例教程第13章 在ASP.NET中使用XML第20頁(yè)13.4 XML的應(yīng)用和發(fā)展前景的應(yīng)用和發(fā)展前景l(fā)XML的應(yīng)用的應(yīng)用1. 數(shù)據(jù)交換數(shù)據(jù)交換2. Web服務(wù)服務(wù)3. 內(nèi)容管理內(nèi)容管理4. Web集成集成5. 配置文件配置文件lXML的出現(xiàn)使互聯(lián)網(wǎng)跨入了一個(gè)新的階段,它已成為因特的出現(xiàn)使互聯(lián)網(wǎng)跨入了一個(gè)新的階段,它已成為因特網(wǎng)領(lǐng)域中一個(gè)重要的數(shù)據(jù)交換標(biāo)準(zhǔn)和開(kāi)發(fā)平臺(tái)。沒(méi)有網(wǎng)領(lǐng)域中一個(gè)重要的數(shù)據(jù)交換標(biāo)準(zhǔn)和開(kāi)發(fā)平臺(tái)。沒(méi)有XML就沒(méi)有就沒(méi)有Web服務(wù),也就沒(méi)有今天構(gòu)建應(yīng)用軟件的轟轟烈烈服務(wù),也就沒(méi)有今天構(gòu)建應(yīng)用軟件的轟轟烈烈的的SOA(Service Oriented Architecture)。ASP.NET 3.5網(wǎng)站開(kāi)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論