亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

XML與HTML的結合(下)

2019-11-18 20:00:35
字體:
來源:轉載
供稿:網友

xml的嵌套處理

一般情況下,我們從數據庫中查詢得到的結果集可能很大,所以從服務器返回到客戶端時,數據會被分成若干個頁面分別進行傳遞。此時,利用TABLE元素中的DATAPAGESIZE屬性可以指定每個頁面包含記錄集條目的個數。

例如:

<TABLE DATASRC=“#xmldso” DATAPAGESIZE=10>

很顯然,如果XML數據格式是對稱的,則無論是映射到ADO記錄集還是綁定到表格元素上,效果都會很好。而在實際應用中,XML數據為非對稱的例子也很多,比如一本書的作者可能就不止一位,這在映射和綁定時都會產生一定的麻煩。解決問題的辦法就是利用嵌套。每一行表格仍對應一條主元素,每一欄也對應著一個子元素。對于重復元素,則使用嵌套的表格。我們假設在books.xml中,第一本書的作者為Dean Straight,第二本書的作者為Charlotte Cooper、Shelley Burke和Regina Murphy。此時,綁定過程如下:

● 創建TABLE元素,并將數據島ID賦值給DATAFLD屬性;

● 對于單獨的XML元素,如<isbn>,創建TD元素,并設定相應的DATAFLD屬性;

● 對于重復元素,在TD元素內部嵌套一個表格;

● 用單行單列的形式顯示作者信息。

注意這里的DATAFLD屬性必須設定為“$TEXT”,

以保證嵌套元素的內容被全部顯示在指定的元素中。

完整的HTML代碼如下所示:

<TABLE BORDER=1 DATASRC=“#xmldso”>

<THEAD><TR><TH>Title</TH>

<TH>ISBN</TH>

<TH>Author</TH></TR></THEAD>

<TBODY>

<TR><TD>

<DIV DATAFLD=“title”></DIV></TD>

<TD><DIV DATAFLD=“isbn”>

</DIV></TD>

<TD>

<TABLE BORDER=0 DATASRC=“#xmldso” DATAFLD=“author”>

<TR><TD><SPAN DATAFLD=“$Text”></SPAN></TD></TR>

</TABLE>

</TD>

</TR></TBODY>

</TABLE>

事實上,使用DSO效果最好的情況是針對結構對稱的數據,而處理非對稱數據更有效的辦法是使用我們以后將要介紹的DOM技術。

DSO技術的應用

1. 訪問元素的屬性

用DSO訪問元素的屬性很簡單,可以直接把屬性按子元素來處理。

例如:

<book isbn=“9-001-122-12”>

……

</book>

這樣,在綁定到HTML表格中時,就可以直接按子元素來處理:

<TD><SPAN DATAFLD=“isbn”> </SPAN></TD>

如果遇到屬性名和子元素名一樣的情況,在元素名前加上“!”進行區分。 2.遍歷記錄集

DSO把XML數據島當做ADO記錄集進行處理的一大好處是可以利用ADO提供的各種方法對數據源進行訪問,尤其是當把數據島與類似SPAN、DIV和INPUT等HTML元素綁定時。通常這些元素顯示的是記錄集的首條記錄,要想對記錄集進行遍歷瀏覽,可以使用ADO的方法 : Move、MoveFirst、MoveLast、MoveNext和MovePRevious。比如創建一個按鈕響應函數,只要用戶點擊“Next”按鈕,就可以逐條瀏覽相應的記錄。

例如:

<XML ID=“xmldso” SRC=“books.xml”>

</XML>

Sub btnNext_onclick()

xmldso.RecordSet.MoveNext

End Sub

3.與Script語言相結合

有些用戶比較習慣編寫Script語言,利用DSO技術同樣可以與各種Script很好地結合在一起。

例如(以VB Script為例),訪問記錄集時,代碼如下:

Dim rsBooks

Set rsBooks = xmldso.RecordSet

訪問字段(子元素)的值:

Dim sTitle

sTitle = rsBooks(“title”)

可以使用innerText和innerHTML屬性把得到的值傳遞給HTML元素。例如,有一個DIV元素名為divTitle,賦值代碼如下所示:

divTitle.innerTEXT = sTitle

利用腳本程序還可以處理許多DSO事件,下表列舉了其中的一部分事件:

在腳本中處理各種事件的方法就是在<SCRIPT>標簽中使用FOR屬性指定XML數據島ID,使用EVENT屬性確定事件類型。

例如,獲取記錄集中條目的個數:

<SCRIPT Language=“VB Script” FOR=“xmldso” EVENT=“onDataAvailable”>

lblRecords.value = booklist.RecordSet.RecordCount

</SCRIPT>

除了顯示記錄數據之外,腳本程序還可以對記錄集進行快速查詢、排序、編輯等操作。但要指出的是,雖然ADO技術中提供了類似SortColumn和SortAscending等方法對XML數據進行排序,但是效果不如XSL中的排序操作,所以建議大家充分利用XSL技術來實現這部分功能。

其余的功能,如利用腳本對記錄集進行諸如增加、刪除、修改等操作,或是分頁顯示HTML表格等等,在這里就不一一舉例說明了,用法與前面的操作大同小異。最后需要說明的是,所有對DSO對象的操作都是在用戶端完成的,實際上是服務器數據對象的一份復制品,這樣做的好處是避免了網絡承受大量數據通信的負擔。但這時用戶端所做的任何操作對服務器上存儲的數據毫無影響,如果要想對服務器記錄也進行修改,那么就要用到客戶端與服務器端的數據交換技術,我們將在以后對此進行介紹。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产中文精品字幕自在自线| 久久久国产精彩视频美女艺术照福利| 亚洲国产毛片完整版| 亚洲欧美日韩精品久久奇米色影视| 亚洲free嫩bbb| 68精品久久久久久欧美| 欧美视频免费在线| 欧美成人合集magnet| 亚洲精品97久久| 精品视频—区二区三区免费| 性色av一区二区三区在线观看| 亚洲精品v欧美精品v日韩精品| 不卡av电影在线观看| 国产欧美日韩中文| 国产精品久久久久久久一区探花| 欧美日韩激情视频| 久久99视频免费| 亚洲另类激情图| 91av视频在线观看| 欧美精品久久久久久久久| 久久精品国产久精国产一老狼| 亚洲r级在线观看| 欧美午夜丰满在线18影院| 亚洲国产精品久久精品怡红院| 中文在线资源观看视频网站免费不卡| 亚洲国产精品va在看黑人| 日韩电影在线观看免费| 亚洲色图综合网| 欧美激情视频网址| 国产成人一区二区三区| 亚洲xxxx在线| 精品无人国产偷自产在线| 韩国国内大量揄拍精品视频| 国产精品999| 国产亚洲a∨片在线观看| 欧美成人高清视频| 欧美高清视频免费观看| 亚洲成人av在线| 国产suv精品一区二区| 5566成人精品视频免费| 国产精品7m视频| 欧美日韩亚洲一区二区三区| 国产精品极品在线| 久久亚洲精品小早川怜子66| 欧美一区二区大胆人体摄影专业网站| 国产精品偷伦视频免费观看国产| 国产成人精品日本亚洲| 国产精品久久久久久久7电影| 81精品国产乱码久久久久久| 日韩在线观看精品| 亚洲美腿欧美激情另类| 国产一区二区黄| 欧美黑人xxxⅹ高潮交| 亚洲黄色在线观看| 国产精品日韩一区| 亚洲精品720p| 欧美理论在线观看| 久久久精品一区二区| 欧美另类精品xxxx孕妇| 精品国产一区二区三区四区在线观看| 亚洲精品按摩视频| 成人国产精品av| 欧美精品激情在线观看| 欧美日韩午夜激情| 久久精品成人动漫| 国产精品自拍小视频| 欧美另类极品videosbest最新版本| 91色视频在线导航| 日韩电影中文 亚洲精品乱码| 精品国产一区二区三区久久| 亚洲国产精品视频在线观看| 欧美俄罗斯乱妇| 精品国产视频在线| 久久久97精品| 久久综合久久88| 国产精品18久久久久久麻辣| 日韩人体视频一二区| 国产精品久久久久久久久免费| 97高清免费视频| 国产视频精品久久久| 亚洲白虎美女被爆操| 欧美一性一乱一交一视频| 精品福利在线视频| 国产精品尤物福利片在线观看| 亚洲在线免费视频| 91最新在线免费观看| 日韩女优人人人人射在线视频| 亚洲欧洲一区二区三区在线观看| 成人两性免费视频| 国外色69视频在线观看| 欧美性做爰毛片| 亚洲男人7777| 日韩在线观看免费| 欧美色xxxx| 91精品91久久久久久| 精品成人久久av| 大桥未久av一区二区三区| 一本色道久久88亚洲综合88| 欧美激情在线狂野欧美精品| 免费97视频在线精品国自产拍| 2023亚洲男人天堂| 亚洲国产精品久久久久秋霞不卡| 国产日韩换脸av一区在线观看| 91九色国产社区在线观看| 97视频免费观看| 日韩电影免费在线观看中文字幕| 亚洲国产精品高清久久久| 精品无码久久久久久国产| 亚洲国产精品久久| 亚洲精品视频免费| 欧美最顶级丰满的aⅴ艳星| 亚洲福利小视频| 91亚洲国产成人精品性色| 久久精品一本久久99精品| 亚洲激情在线观看视频免费| 亚洲精品99久久久久中文字幕| 欧美电影免费观看高清完整| 国产成人精品一区二区| 青青草国产精品一区二区| 欧美剧在线观看| 亚洲aⅴ男人的天堂在线观看| 最近2019中文字幕在线高清| 视频直播国产精品| 日韩欧美在线视频日韩欧美在线视频| 亚洲护士老师的毛茸茸最新章节| 欧美性xxxxx极品娇小| 日韩av在线天堂网| 国产一区私人高清影院| 日韩av手机在线| 亚洲成人亚洲激情| 2019中文字幕在线观看| 中文亚洲视频在线| 日韩精品小视频| 国产91精品黑色丝袜高跟鞋| 理论片在线不卡免费观看| 岛国av一区二区在线在线观看| 亚洲一区二区三区乱码aⅴ| 国产在线精品一区免费香蕉| 久久久久久久国产| 欧美久久精品午夜青青大伊人| 97视频在线观看亚洲| 日韩欧美主播在线| 久久精品国产96久久久香蕉| 欧美日韩在线视频观看| 国产欧美日韩综合精品| 亚洲三级 欧美三级| 国产精品欧美风情| 国产精品稀缺呦系列在线| 日本久久亚洲电影| 欧美在线免费观看| 精品久久香蕉国产线看观看gif| 欧美特黄级在线| 日韩av在线播放资源| 97久久久久久| 欧美高清视频免费观看| 日韩欧美在线看| 日韩中文在线中文网在线观看| 亚洲精品日韩激情在线电影| 日韩av在线免费看| 亚洲国产精品久久91精品| 国产日韩视频在线观看| 亚洲欧洲成视频免费观看| 欧美成人剧情片在线观看| 亚洲精品电影网|