使用DSO顯示XML文檔_第1頁
使用DSO顯示XML文檔_第2頁
使用DSO顯示XML文檔_第3頁
使用DSO顯示XML文檔_第4頁
使用DSO顯示XML文檔_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第8DSO顯示XML DSO8.1使用DSO顯示記錄8.2 DSO數(shù)據(jù)源對象8.3 DSO與xsl8.4 使用DSO顯示圖像元素8.58.1 DSO簡介8.1.1 DSO基本概念與HTML文檔綁定的XML數(shù)據(jù)源對象簡稱為DSO,通常也稱為嵌入HTML文檔中的XML數(shù)據(jù)島。使用DSO,借助HTML網(wǎng)頁來顯示XML文檔內(nèi)容,既能保持XML文檔數(shù)據(jù)與其顯示格式分離的特點,又具備HTML網(wǎng)頁的豐富顯示格式。利用DSO技術(shù)顯示XML文檔的機(jī)制是,把鏈接到HTML網(wǎng)頁中的一個XML文檔或一段XML數(shù)據(jù)當(dāng)作一個類似于數(shù)據(jù)庫的記錄集(Recordset)對象,然后使用與數(shù)據(jù)庫類似的操作方法來顯示和瀏覽被鏈接的

2、XML文檔的內(nèi)容。采用DSO技術(shù),首先需要進(jìn)行數(shù)據(jù)綁定,即將XML文檔數(shù)據(jù)綁定到HTML文檔,然后再將特定的XML元素鏈接到SPAN或TABLE等標(biāo)準(zhǔn)的HTML元素,這些HTML元素就會自動顯示它們所綁定的XML元素內(nèi)容。使用DSO技術(shù)來顯示XML文檔數(shù)據(jù)的兩個主要步驟:(1)把要顯示的XML文檔綁定到一個HTML文檔中 。這個步驟是通過在HTML文檔中添加一個名為XML的特定元素來實現(xiàn)的。(2)把XML文檔中的元素與HTML文檔中特定的元素綁定 。示例三國演義羅貫中文藝出版社0-765-58007-880紅樓夢曹雪芹三秦出版社0-765-58007-922數(shù)據(jù)綁定數(shù)據(jù)綁定實例書名類別書號作者

3、出版社定價數(shù)量余量8.1.2 XML文檔綁定到HTML網(wǎng)頁被邦定到HTML網(wǎng)頁的XML文檔數(shù)據(jù)將成為一個數(shù)據(jù)源對象,也被稱為數(shù)據(jù)島。可以使用兩種不同的數(shù)據(jù)島形式,即:外部數(shù)據(jù)島和內(nèi)部數(shù)據(jù)島。1內(nèi)部數(shù)據(jù)島內(nèi)部數(shù)據(jù)島是將XML文檔的全部內(nèi)容放在HTML文檔中特定的XML元素的起始標(biāo)記與結(jié)束標(biāo)記之間,并在XML起始標(biāo)記中給出這個數(shù)據(jù)島的ID標(biāo)識。2外部數(shù)據(jù)島外部數(shù)據(jù)島是在名為XML的HTML元素中僅包含所需綁定的XML文檔的URL及其ID標(biāo)識。內(nèi)部數(shù)據(jù)島示例:將的內(nèi)容直接寫到文件當(dāng)中。外部數(shù)據(jù)島示例:張朝昆123456登錄用戶登錄名稱:密碼:8.1.3 XML元素綁定到HTML元素第一種方法是將全部

4、XML元素綁定到HTML文檔的TABLE元素 ,使得HTML網(wǎng)頁中的表格能夠自動顯示XML文檔的記錄集合。此時應(yīng)在標(biāo)記中添加DATASRC屬性,并將一個自定義的數(shù)據(jù)源對象名稱(數(shù)據(jù)島標(biāo)識符)作為其屬性值。如之前的例子:第二種方法是將指定的XML元素綁定到HTML文檔的其他特定元素,例如綁定到SPAN、DIV、BUTTON等元素。此時在標(biāo)記中除了應(yīng)添加DATASRC屬性之外,還應(yīng)添加DATAFLD屬性來指定所綁定的XML文檔中的某個字段。采用此種方法一次只能顯示一條記錄或記錄中的一個字段。并不是所有的HTML元素都可以與XML元素綁定。8.2 使用DSO顯示記錄8.2.1 使用DSO顯示單一記錄

5、若將XML文檔綁定到HTML網(wǎng)頁文檔之后,再使用SPAN、DIV、BUTTON 等HTML元素綁定到個別的XML字段,結(jié)果這些HTML元素就會自動顯示所綁定的XML字段的內(nèi)容。使用這種方法來顯示所綁定的XML文檔時,通常一次只能顯示一條記錄,所以被綁定的XML文檔都相當(dāng)簡單。未綁定table的效果,仍使用DSO單值綁定四大名著效果:8.2.2 使用簡單表格顯示XML記錄將XML文檔作為數(shù)據(jù)源對象并綁定到HTML文檔的TABLE元素之后,XML文檔中的每一個記錄的數(shù)據(jù)都會被分別顯示在HTML網(wǎng)頁的不同表格行中,而XML記錄元素中的每一個字段數(shù)據(jù)則會被分別顯示于不同的表格欄中。示例參見8.2.3

6、使用DSO顯示元素屬性對于XML文檔中含有屬性的記錄元素,在使用DSO方式進(jìn)行處理時,只需將該元素的屬性作為記錄的一個特定字段來處理即可。因此就可以利用普通的數(shù)據(jù)綁定技巧來存取元素屬性的值。8.3 DSO數(shù)據(jù)源對象將XML文檔與HTML文檔綁定之后,在內(nèi)存中生成的記錄集合是一個屬于DSO的recordset對象。該對象提供了一組符合Microsoft 的ADO標(biāo)準(zhǔn)數(shù)據(jù)訪問技術(shù)的方法和屬性,因而可以通過script編程調(diào)用這些方法和屬性來對記錄集進(jìn)行訪問和處理??梢愿鶕?jù)需要調(diào)用recordset對象的任何一個方法來撰寫有關(guān)的script程序。調(diào)用這些方法最簡單的方式就是在HTML文檔中通過將某個

7、方法直接指定到BUTTON元素的ONCLICK屬性中。8.3.1 DSO與javascript的使用張三同學(xué)8李四朋友1通信錄function view()alert(dso.xml);名稱聯(lián)系方式8.3.2 操作DSO記錄:XML基礎(chǔ)教程與實驗指導(dǎo)孫曉非38XML入門經(jīng)典David Hunter118XML高級編程Bill Evjen98XML案例解析教程Mitch Amiano36XML開發(fā)典型應(yīng)用張朝明65圖書列表function view()alert(dso.documentElement.nodeName);function viewFirst() alert(dso.docume

8、ntElement.childNodes0.childNodes0.nodeName); alert(dso.documentElement.childNodes0.childNodes0.firstChild.nodeValue);function add() var nodeBook = dso.createElement(圖書); var nodeTitle = dso.createElement(標(biāo)題);nodeTitle.appendChild(dso.createTextNode(XML基礎(chǔ)教程);var nodeAuthor = dso.createElement(作者);nod

9、eAuthor.appendChild(dso.createTextNode(耿祥義);var nodePrice = dso.createElement(價格);nodePrice.appendChild(dso.createTextNode(21);nodeBook.appendChild(nodeTitle);nodeBook.appendChild(nodeAuthor);nodeBook.appendChild(nodePrice);dso.documentElement.appendChild(nodeBook);function del()dso.documentElement.

10、removeChild(dso.documentElement.childNodes0);function modi()dso.documentElement.childNodes0.childNodes0.firstChild.text=新圖書名稱;圖書標(biāo)題圖書作者圖書價格效果:8.3.3 遍歷XML數(shù)據(jù)島數(shù)據(jù)圖書遍歷function firstrec()dso.recordset.moveFirst();function nxtrec()if(!dso.recordset.EOF)dso.recordset.moveNext();if(dso.recordset.EOF)dso.recor

11、dset.movelast();function prevrec()if(!dso.recordset.BOF)dso.recordset.movePrevious();if(dso.recordset.BOF)dso.recordset.moveFirst();function lastrec()dso.recordset.movelast();圖書信息圖書標(biāo)題:圖書 圖書價格:第一條記錄上一條記錄下一條記錄最后一條記錄效果:8.3.4 分頁顯示DSO數(shù)據(jù)要實現(xiàn)被綁定的XML文檔中的眾多記錄用分頁的表格來顯示,需執(zhí)行下列步驟:(1)將被綁定的TABLE 元素的DATAPAGESIZE 屬性設(shè)

12、定成希望每一頁顯示的記錄個數(shù)。(2)為被綁定的TABLE 元素的ID 屬性指定一個唯一的識別代號。(3)要實現(xiàn)在各個表格頁之間翻頁瀏覽,可使用腳本程序調(diào)用DSO提供的用于控制分頁顯示的方法。圖書列表function ViewBooks() books.dataPageSize = items.value;books.firstPage();function FirstPage() books.firstPage();function PrevPage() books.previousPage();function NextPage() books.nextPage();function Las

13、tPage() books.lastPage();分頁顯示數(shù)據(jù)請輸入一頁中要查看的記錄數(shù):圖書標(biāo)題圖書作者圖書價格效果:8.4 DSO與xslgoods.xml:聯(lián)想筆記本電腦4999元TCL液晶電視5682元海爾洗衣機(jī)2866元樣式1樣式2物品名稱物品價格樣式3(商品行情:漲價)(商品行情:降價)樣式切換function load1()var xmlDso = dso.XMLDocument;var xslDso = Stylesheet1.XMLDocument;divResults.innerHTML = xmlDso.transformNode(xslDso);function load2()var xmlDso = dso.XMLDocument;var xslDso = Stylesheet2.XMLDocument;divResults.innerHTML = xmlDso.transformNode(xslDso);function load3()var xmlDso = dso.XMLDocument;var xslDso = Stylesheet3.XMLDocument;d

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論