首頁 web前端 html教學 XML與HTML之間的優勢互補(下)

XML與HTML之間的優勢互補(下)

May 02, 2017 pm 03:12 PM

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

例如:

<TABLE DATASRC=“#xmldso” DATAPAGESIZE=10>
登入後複製

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

● 建立TABLE元素,並將資料島ID賦值給DATAFLD屬性;

● 對於單獨的XML元素,如,建立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>

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

<TD><p DATAFLD=“isbn”>

</p></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、p和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元素。例如,有一個p元素名為pTitle,賦值程式碼如下所示:



pTitle.innerTEXT = sTitle
登入後複製

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


在腳本中處理各種事件的方法就是在

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1324
25
PHP教程
1272
29
C# 教程
1251
24
HTML 中的表格邊框 HTML 中的表格邊框 Sep 04, 2024 pm 04:49 PM

HTML 表格邊框指南。在這裡,我們以 HTML 中的表格邊框為例,討論定義表格邊框的多種方法。

HTML 中的巢狀表 HTML 中的巢狀表 Sep 04, 2024 pm 04:49 PM

這是 HTML 中巢狀表的指南。這裡我們討論如何在表中建立表格以及對應的範例。

HTML 左邊距 HTML 左邊距 Sep 04, 2024 pm 04:48 PM

HTML 左邊距指南。在這裡,我們討論 HTML margin-left 的簡要概述及其範例及其程式碼實作。

HTML 表格佈局 HTML 表格佈局 Sep 04, 2024 pm 04:54 PM

HTML 表格佈局指南。在這裡,我們詳細討論 HTML 表格佈局的值以及範例和輸出。

HTML 輸入佔位符 HTML 輸入佔位符 Sep 04, 2024 pm 04:54 PM

HTML 輸入佔位符指南。在這裡,我們討論 HTML 輸入佔位符的範例以及程式碼和輸出。

您如何在PHP中解析和處理HTML/XML? 您如何在PHP中解析和處理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

HTML onclick 按鈕 HTML onclick 按鈕 Sep 04, 2024 pm 04:49 PM

HTML onclick 按鈕指南。這裡我們分別討論它們的介紹、工作原理、範例以及各個事件中的onclick事件。

在 HTML 中移動文字 在 HTML 中移動文字 Sep 04, 2024 pm 04:45 PM

HTML 中的文字移動指南。在這裡我們討論一下marquee標籤如何使用語法和實作範例。

See all articles