| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
ASP+XML打造留言本
作者:佚名    文章来源:网络    点击数:    更新时间:2006-11-26
 



 五、建立显示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节点 
  %> 
  <html> 
  <head> 
  <title>留言本</title> 
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
  <style type="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><body bgcolor="#0099CC" text="#000000"> 
  <table width="80%" border="0" cellspacing="1" cellpadding="4" align="center" bgcolor="#CCCCCC"> 
  <tr bgcolor="#000000">  
  <td colspan="2"><font color="#FFFFFF">留言溥 <a href="PostNew.asp"><font color=#FFFFFF>写新留言 
  </font></a></font></td> 
  </tr> 
  <%  
  PageSize =10’假设每页显示10条留言 
  AllNodesNum =objRootsite.childNodes.length-1 
  ’获取子节点数据(因为是从节点数从0开始的所最大子节点数要减1) 
  PageNum=AllNodesNumPageSize+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对像所对应的节点为<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)," ") 
  ’替代空格 
  %> 
  <tr bgcolor="#F0F0F0">  
  <td width="21%" height="94" valign="top">姓 名:<%=username%><br> 
  来 自:<%=fromwhere%><br> 
  </td> 
  <td width="79%" height="94" valign="top"> | <a href="<%=homepage%>" target=_blank title="<%=username% 
  >的主页">主页</a>  
  | | <a href="mailto:<%=email%>" title="给<%=username%>写信">信箱</a> | |<font color="#CC6633">  
  留言时间:<%=Posttime%> </font>|  
  <hr> 
  <%=text%> </td> 
  </tr> 
  <tr bgcolor="#FFFFFF" align="right"> 
  <td colspan="2"> </td> 
  </tr> 
  <%  
  StarNodes=StarNodes-1 
  wend  
  set objXML=nothing  
  %> 
  <tr bgcolor="#FFFFFF" align="right">  
  <td colspan="2"> 共有<<%=PageNum%>>页  
  <%  
  if cint(PageNo)<>PageNum then’分页 
  response.write "<a href=’index.asp?PageNo="&(PageNo+1)&"’>上一页</a>" 
  end if 
  if cint(PageNo)<>1 then 
  response.write "<a href=’index.asp?PageNo="&(PageNo-1)&"’>下一页</a> " 
  end if 
  %> 
  </td> 
  </tr> 
  </table> 
  </body> 
  </html>

上一页  [1] [2] [3] 下一页


  • 上一篇文章:

  • 下一篇文章: 没有了
  • 相关文章