XML与ASP简单结合实现HTML模板功能
程序员文章站
2022-03-02 10:03:18
本文利用的是xml的dso数据绑定功能来实现asp代码和html代码的分离,从而实现快速更换html模板的功能,由于本人只是刚刚开始接触xml,有许多不太了解的,在这里仅仅...
本文利用的是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>的效果应该怎么作.请各位高人指点一下.
目前快速更换模板功能基本上是处于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>的效果应该怎么作.请各位高人指点一下.
上一篇: c语言编译后生成什么文件
下一篇: 微信视频号怎么开通