<% dim objXML,strSourcefile,str str="List.xml" strSourceFile = Server.MapPath(str) '获取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"></head> <body bgcolor="#006600"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 herf="postnew.asp"><font color="#FFFFFF">写留言</font></a></font><./td> </tr> <% dim AllNodesNum pageSize=10' 每页显示10条留言 AllNodesNum =objRootsite.childNodes.length-1 '获取子节点数据(因为是从节点数从0开始的所最大节点数) PageNum=AllNodesNum\pagesize+1 '算出总页数 PageNo=request.querystring("PageNo") if PageNo="" then '如果是每一次获取页面则定位到每一页显示最新的留言 PageNo=PageNum end if StarNodes=PageNo*PageSize-1'获得起始节点 EndNodes=(PageNo-1)*PageSize'获得结束节点 if StarNodes>allNodesNum then'判断起始节点数是否超过总节数 EndNodes=EndNodes-(StarNodes-AllNodesNum) '如果超过则结束节点要减去(StarNodes-AllNodesNum) StarNodes=AllNodsNum end if if EndNodes<0 then EndNodes=0 end if while StarNodes>=EndNodes '从结束节点到始节点之间读取节点数据 username=objRootsite.childNodes.item(StarNodes).childNodes.item(1).text '获取用户名 fromwhere=objRoootsite.childNode.item(StarNodes).childNodes.item(2).text '获得用户来自哪里 Posttime=objRootsite.childNodes.item(StarNodes).childNodes.item(3).text '获取用户时间 email=objRoootsite.childNode.item(StarNodes).childNodes.item(4).text '获得用户来自哪里 text=objRoootsite.childNode.item(StarNodes).childNodes.item(5).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="FOFOFO"> <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> 错误描述: 缺少对象 错误编号: -2146827864 错误类型: Microsoft VBScript 运行时错误 (0x800A01A8) /liuyanban/index.asp, 第 22 行 第22行是AllNodesNum =objRootsite.childNodes.length-1 请大家帮我看看