ASP网页设计用ASP+XML打造留言本(2)
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了!5、创建显现XML数据的ASP文件(index.asp)这个文件要完成的功效就是读取并显现XML数据,起首创立一个XML对像然后把XML读进内存中,使用DOM分别出我们所要的数据。
<%
strSourceFile=Server.MapPath("/")&"List.xml"
猎取XML文件的路径这里依据你的假造目次分歧而分歧
SetobjXML=Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
以自在线程创立一个XML对像
objXML.load(strSourceFile)把XML文件读进内存
SetobjRootsite=objXML.documentElement.selectSingleNode("NewList")
拔取NewList节点
%>
<html>
<head>
<title>留言本</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<styletype="text/css">
<!--
td{font-family:"宋体";font-size:9pt;text-decoration:none}
a{font-family:"宋体";font-size:9pt;color:#0066CC;text-decoration:none}
a:hover{color:#FF6600;text-decoration:underline}
-->
</style>
</head><bodybgcolor="#0099CC"text="#000000">
<tablewidth="80%"border="0"cellspacing="1"cellpadding="4"align="center"bgcolor="#CCCCCC">
<trbgcolor="#000000">
<tdcolspan="2"><fontcolor="#FFFFFF">留言溥<ahref="PostNew.asp"><fontcolor=#FFFFFF>写新留言</font></a></font></td>
</tr>
<%
PageSize=10假定每页显现10条留言
AllNodesNum=objRootsite.childNodes.length-1
猎取子节点数据(由于是从节点数从0入手下手的所最年夜子节点数要减1)
PageNum=AllNodesNumPageSize+1算出总页数
PageNo=request.querystring("PageNo")
ifPageNo=""then假如是每次取得页面则定位到每页显现最新的留言
PageNo=PageNum
endif
StarNodes=PageNo*PageSize-1取得肇端节点
EndNodes=(PageNo-1)*PageSize取得停止节点
ifEndNodes<0then
EndNodes=0
endif
ifStarNodes>AllNodesNumthen判别肇端节点数是不是凌驾总的节点数
EndNodes=EndNodes-(StarNodes-AllNodesNum)
假如凌驾则停止节点要减往(StarNodes-AllNodesNum)的差值不然下标会超界堕落
StarNodes=AllNodesNum
endif
ifEndNodes<0then
EndNodes=0
endif
whileStarNodes>=EndNodes
从停止节点到超始节点之间读取节点数据
username=objRootsite.childNodes.item(StarNodes).childNodes.item(1).text
取得用户名
fromwhere=objRootsite.childNodes.item(StarNodes).childNodes.item(2).text
取得用户来自那边
Posttime=objRootsite.childNodes.item(StarNodes).childNodes.item(3).text
取得留言工夫
homepage=objRootsite.childNodes.item(StarNodes).childNodes.item(4).text
取得用户主页
email=objRootsite.childNodes.item(StarNodes).childNodes.item(5).text
取得用户Eamil
text=objRootsite.childNodes.item(StarNodes).childNodes.item(6).text
获昨留言内容
*****************************************************************************
这里使作了XML的DOM来读取数据,明显objRootsite对像所对应的节点为<NewList>
objRootsite.childNodes.item(StarNodes)所对应的节点就是<list>节点由于不至一个<list>节点以是用了item()来辨认以后节点数据,跟着StarNodes的递加<list>节点根着往上移一个个读取<list>节点数据。
objRootsite.childNodes.item(StarNodes).childNodes.item(1).text所对应的节点为详细的每一个节点的文本值,这里(1)所对应的就是username用户名(由于<list>节点的子节点才是我们真正所要的)
******************************************************************************
text=replace(text,chr(13),"<br>")
替换回车
text=replace(text,chr(32),"")
替换空格
%>
<trbgcolor="#F0F0F0">
<tdwidth="21%"height="94"valign="top">姓名:<%=username%><br>
来自:<%=fromwhere%><br>
</td>
<tdwidth="79%"height="94"valign="top">|<ahref="<%=homepage%>"target=_blanktitle="<%=username%>的主页">主页</a>
||<ahref="mailto:<%=email%>"title="给<%=username%>写信">信箱</a>||<fontcolor="#CC6633">
留言工夫:<%=Posttime%></font>|
<hr>
<%=text%></td>
</tr>
<trbgcolor="#FFFFFF"align="right">
<tdcolspan="2"></td>
</tr>
<%
StarNodes=StarNodes-1
wend
setobjXML=nothing
%>
<trbgcolor="#FFFFFF"align="right">
<tdcolspan="2">共有<<%=PageNum%>>页
<%
ifcint(PageNo)<>PageNumthen分页
response.write"<ahref=index.asp?PageNo="&(PageNo+1)&">上一页</a>"
endif
ifcint(PageNo)<>1then
response.write"<ahref=index.asp?PageNo="&(PageNo-1)&">下一页</a>"
endif
%>
</td>
</tr>
</table>
</body>
</html>
ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用 ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。 交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。 掌握asp的特性而且一定要知道为什么。 接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
页:
[1]