您的位置:首页资讯教你一招 → 用ASP+XML打造留言本 - 2

用ASP+XML打造留言本 - 2

时间:2004/10/15 1:20:00来源:本站整理作者:蓝点我要评论(1)

                   

五、建立显示XML数据的ASP文件(index.asp)

  这个文件要实现的功能就是读取并显示XML数据,首先创建一个XML对像然后把XML读入内存中,利用DOM分离出我们所
要的数据。

<%
strSourceFile = Server.MapPath("/") & "\List.xml"
'获取XML文件的路径这里根据你的虚拟目录不同而不同
Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
'以自由线程创建一个XML对像
objXML.load(strSourceFile)'把XML文件读入内存
Set objRootsite = objXML.documentElement.selectSingleNode("NewList")
'选取NewList节点
%留言本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}
--
留言溥 写新留言
PageSize =10'假设每页显示10条留言
AllNodesNum =objRootsite.childNodes.length-1
'获取子节点数据(因为是从节点数从0开始的所最大子节点数要减1)
PageNum=AllNodesNum\PageSize+1'算出总页数
PageNo=request.querystring("PageNo")
if PageNo="" then'如果是每一次获得页面则定位到每一页显示最新的留言
PageNo=PageNum
end if
StarNodes=PageNo*PageSize-1'获得起始节点
EndNodes=(PageNo-1)*PageSize'获得结束节点
if EndNodes<0 then
EndNodes=0
end if
if StarNodes>AllNodesNum then'判断起始节点数是否超过总的节点数
EndNodes=EndNodes-(StarNodes-AllNodesNum)
'如果超过则结束节点要减去(StarNodes-AllNodesNum)的差值否则下标会超界出错
StarNodes=AllNodesNum
end if
if EndNodes<0 then
EndNodes=0
end if
while StarNodes>=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对像所对应的节点为节点因为不至一个节点所以用了item()
来识别当前节点数据,随着StarNodes的递减节点根着往上移一个个读取节点数据。
'objRootsite.childNodes.item(StarNodes).childNodes.item(1).text所对应的节点为具体的每个节点的文本值,这里
(1)所对应的就是username用户名(因为节点的子节点才是我们真正所要的)
'******************************************************************************

text = replace(text,chr(13),"
")
'替代回车
text = replace(text,chr(32)," ")
'替代空格
%
姓 名:<%=username%
来 自:<%=fromwhere%
| 主页
| | mailto:<%=email%>" title="给<%=username%>写信">信箱 | |
留言时间:<%=Posttime%>
|
StarNodes=StarNodes-1
wend
set objXML=nothing
%
共有<<%=PageNum%>>页
<%
if cint(PageNo)<>PageNum then'分页
response.write "上一页"
end if
if cint(PageNo)<>1 then
response.write "下一页 "
end if
%

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 电视盒子怎么看百度云迅雷99.99下载不完怎么迅雷9怎么关闭右侧 迅网易云音乐怎么上传歌

最新文章 2022支付宝万能福扫福微信迎新春状态怎么设 微信小老虎头像怎么设置 微信ID后面设置小老抖音压岁钱卡怎么获得2022 抖音压岁钱获取方微博隐私保护怎么设置 微博隐私保护功能完善今日头条2022年集卡活动开启时间 今日头条2

人气排行 智学网怎么登录 智学网怎么查分数 智学网统教你怎么写电子邮箱格式?以163和QQ邮箱为例腾讯大王卡用了后悔怎么办 腾讯大王卡值得办缺少或丢失xinput1_3.dll解决方法,xinput1应用程序无法正常启动0xc000007b解决方法快播关闭怎么办?快播不能用了怎么看片将pdf文件转换为word文件的最简单方法如何破解QQ空间密码和权限