XML與ASP簡單結合實現HTML模板功能

來源:互聯網
上載者:User

本文利用的是XML的DSO資料繫結功能來實現ASP代碼和HTML代碼的分離,從而實現快速更換HTML模板的功能,由於本人只是剛剛開始接觸XML,有許多不太瞭解的,在這裡僅僅是提出一點想法,如果本文有錯漏的地方請大家指多.

目前快速更換模板功能基本上是處於replace替換模板中的特殊標籤後再顯示出來,這樣加大了許多ASP的處理時間,而且模板檔案過長的話,載入到記憶體裡進行處理時也是對伺服器記憶體的一種考驗.而XML中提供了一種DSO資料繫結功能.可以將標識替換操作交付給用戶端.由於為了簡化HTML模板的製作要求.所以,盡量簡化HTML模板的XML技術含量是有必要的.

簡單來說這個方式只是使用datasrc和dataFLd這兩個HTML標籤的屬性實現的.廢話就不多說了,一切執行個體說話.以下兩個例子將說明一切.

例一:單個資料顯示
以下是用ASP產生的XML資料島.
<xml id="xmldata">
<xData>
<name>coder</name>
<webname>輕靈自由的珍珠</webname>
<weburl>http://blog.csdn.net/oyiboy</weburl>
</xData>
</xml>

顯示時的HTML原碼:
<table datasrc="#xmldata" border=1>
<tr>
<td colspan=2>我的簡單介紹</td>
</tr>
<tr>
<td>我的名稱:</td>
<td><span dataFLd="name"></span></td>
</tr>
<tr>
<td>網站名稱:</td>
<td><span dataFLd="webname"></span></td>
</tr>
<tr>
<td>網站地址:</td>
<td><a dataFLd="weburl"><span dataFLd="weburl"></span></a></td>
</tr>
</table>

例二:多條資料顯示
以下是用ASP產生的XML資料島.
<xml id="xmldataList">
<xData>
<webList>
<webname>輕靈自由的珍珠</webname>
<weburl>http://blog.csdn.net/oyiboy</weburl>
</webList>
<webList>
<webname>Estyle(靳田)之狂想手紮</webname>
<weburl>http://blog.csdn.net/estyle</weburl>
</webList>
<webList>
<webname>最愛白菜</webname>
<weburl>http://blog.csdn.net/qunluo</weburl>
</webList>
</xData>
</xml>

顯示時的HTML原碼:
<table datasrc="#xmldataList" border=1>
<thead>
<tr>
<td colspan=2>我關注的Csdn Blog列表</td>
</tr>
<tr>
<td align="center">名稱</td>
<td align="center">地址</td>
</tr>
</thead>
<tbody>
<tr>
<td><span dataFLd="webname"></span></td>
<td><a dataFLd="weburl"><span dataFLd="weburl"></span></a></td>
</tr>
</tbody>
</table>

(以上兩個例子可以copy到一個檔案內查看實際運行效果.)
注意例二HTML原碼中的thead和tbody,在顯示多條記錄時會有用的,如果不明白他們有什麼用的可以去掉它們後看看會有什麼後果.

順便說一句,映像和按鍵的資料繫結和超連結的綁定是差不多的,如:<img dataFLd="webimg">和<button dataFLd="buttonvalue"></button>

局限,就是要求瀏覽器必須支援XML,還有一個疑問.象例一中的<a dataFLd="weburl"><span dataFLd="weburl"></span></a>會顯示得出<a href="http://blog.csdn.net/oyiboy">http://blog.csdn.net/oyiboy</a>的效果,如果要在不修改XML資料的情況下實現<a href="http://blog.csdn.net/oyiboy/?loginname=code">http://blog.csdn.net/oyiboy</a>的效果應該怎麼作.請各位高人指點一下.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.