【www.gdgbn.com--留言】

<%
 strSourceFile = Server.MapPath("./") & "List.xml"
 "获取XML文件的路径这里根据你的虚拟目录不同而不同
 Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM")
 "以自由线程创建一个XML对像
 objXML.load(strSourceFile)"把XML文件读入内存
 Set objRootsite = objXML.documentElement.selectSingleNode("NewList")
 "选取NewList节点
%>




网络桌面(xml留言板) -</p> <p><script language="javascript教程" src="other.js"></script><br /> <style type="text/<a href="http://www.gdgbn.com/blist-10-1.html" target="_blank" class="keylink">css教程</a>"><br /> <!--<br /> td { font-family: "宋体"; font-size: 9pt; text-decoration: none}<br /> a { font-family: "宋体"; font-size: 9pt; color: #0066CC; text-decoration: none}<br /> a:hover { color: #FF6600; text-decoration: underline}<br /> --><br /> </style><br /> </head><body bgcolor="#0099CC" text="#000000"><br /> <br /> <br /> <font color="#FFFFFF">留言溥 <font color=#FFFFFF>写新留言<br /> </font></font><br /> <br /> <%<br />  PageSize =10 "假设每页显示10条留言<br />  AllNodesNum =objRootsite.childNodes.length-1<br /> "response.write objRootsite.childNodes.length<br /> "response.end<br />  "获取子节点数据(因为是从节点数从0开始的所最大子节点数要减1)<br />  PageNum=AllNodesNumPageSize+1"算出总页数<br />  PageNo=request.querystring("PageNo")</p> <p> if PageNo="" then"如果是每一次获得页面则定位到每一页显示最新的留言<br />   PageNo=PageNum<br />  end if<br />  <br />  StarNodes=PageNo*PageSize-1"获得起始节点<br />  EndNodes=(PageNo-1)*PageSize"获得结束节点</p> <p> if EndNodes<0 then<br />   EndNodes=0<br />  end if<br /> "response.write " StarNodes and AllNodesNum==="&StarNodes &"----"&AllNOdesNum&"<br>"<br />  if StarNodes>AllNodesNum then"判断起始节点数是否超过总的节点数<br />   EndNodes=EndNodes-(StarNodes-AllNodesNum)<br />   "如果超过则结束节点要减去(StarNodes-AllNodesNum)的差值否则下标会超界出错<br />   StarNodes=AllNodesNum<br />  end if<br /> "response.write "StarNodes=_________"&StarNodes &"---"&"<br>"<br />  if EndNodes<0 then<br />   EndNodes=0<br />  end if<br />  while StarNodes>=EndNodes<br /> "从结束节点到超始节点之间读取节点数据<br /> "response.write "id="&objRootsite.childNodes.item(StarNodes).childNodes.item(0).text</p> <p>  id   = objRootsite.childNodes.item(StarNodes).childNodes.item(0).text<br /> "id号 <br />   username = objRootsite.childNodes.item(StarNodes).childNodes.item(1).text<br /> "获得用户名<br />   fromwhere = objRootsite.childNodes.item(StarNodes).childNodes.item(2).text<br /> "获得用户来自那里<br />   Posttime = objRootsite.childNodes.item(StarNodes).childNodes.item(3).text<br /> "获得留言时间<br />   homepage = objRootsite.childNodes.item(StarNodes).childNodes.item(4).text<br /> "获得用户主页<br />   email  = objRootsite.childNodes.item(StarNodes).childNodes.item(5).text<br /> "获得用户Eamil<br />   text  = objRootsite.childNodes.item(StarNodes).childNodes.item(6).text<br /> "获昨留言内容<br /> "*****************************************************************************<br /> "这里使作了XML的DOM来读取数据,显然objRootsite对像所对应的节点为<NewList><br /> " objRootsite.childNodes.item(StarNodes)所对应的节点就是<list>节点因为不至一个<list>节点所以用了item()<br /> "来识别当前节点数据,随着StarNodes的递减<list>节点根着往上移一个个读取<list>节点数据。<br /> "objRootsite.childNodes.item(StarNodes).childNodes.item(1).text所对应的节点为具体的每个节点的文本值,这里<br /> "(1)所对应的就是username用户名(因为<list>节点的子节点才是我们真正所要的)<br /> "******************************************************************************<br />   text = replace(text,chr(13),"<br>")<br /> "替代回车<br />   text = replace(text,chr(32)," ")<br /> "替代空格<br /> %><br /> <br /> id号:<%=id%><br>姓名:<%=username%><br><br /> 来自:<%=fromwhere%><br><br /> ">编辑留言<br /> <br /> | " target=_blank title="<%=username%>的主页">主页<br /> | | " title="给<%=username%>写信">信箱 | |<font color="#CC6633"><br /> 留言时间:<%=Posttime%> </font>|<br /> <hr><br /> <%=Replace(text,Chr(13),"<br>")%> <br /> <br /> <br /> <br /> <br /> <%<br /> StarNodes=StarNodes-1<br /> wend<br /> set objXML=nothing<br /> %><br /> <br /> 共有<<%=PageNum%>>页<br /> <%<br /> if cint(PageNo)<>PageNum then "分页<br />  response.write "上一页"<br />  end if<br /> if cint(PageNo)<>1 then<br />  response.write "下一页"<br /> end if<br /> %><br /> <br /> <br /> <br /> </body><br /> </html></p> <p>list.xml 文件格式</p> <p><?xml version="1.0" encoding="gb2312"?><br /> <site><br />    <NewList><br />   <list><br />    <id>0</id><br />    <username>1111</username><br />    <fromwhere>中国</fromwhere><br />    <Posttime>2007-4-20 17:54:35</Posttime><br />    <homepage>http://</homepage><br />    <email>111</email><br />    <text>qqqqqqqqq</text><br />   </list><br />   <list><br />    <id>1</id><br />    <username>sdf</username><br />    <fromwhere>中国</fromwhere><br />    <Posttime>2007-4-25 10:24:03</Posttime><br />    <homepage>http://</homepage><br />    <email>sdf</email><br />    <text>wwwwwwwwww</text><br />   </list><br />  </NewList><br /> </site></p> <p>发送保存到xml 文档</p> <p><%<br /> username=request.form("username")<br /> if username<>"" then<br />  fromwhere =request.form("fromwhere")<br />  homepage =request.form("homepage")<br />  email =request.form("email")<br />  text =request.form("text")<br />  text =replace(text,"<","<")<br />  Posttime =now()<br />  strSourceFile = Server.MapPath("./") & "List.xml"<br />  "获取XML文件的路径这里根据你的虚拟目录不同而不同<br />  Set objXML = Server.CreateObject("Microsoft.XMLDOM")<br />  "创建XML对像<br />  objXML.load(strSourceFile)<br />  "把XML文件读入内存中<br />  Set objRootlist = objXML.documentElement.selectSingleNode("NewList")<br />  "选取<NewList>节点<br />  if objRootlist.hasChildNodes then<br />  "判断<NewList>是否有子节点(因为如果是每一次<NewList>是没有子节点的, 如果不加判断在第一次运得时就会报错<br />   id = objRootlist.lastchild.firstchild.text+1<br />  "这里获得将要插入子节点的ID号,其ID号为<NewList>的最后一个子节点(lastchild)的第一个子节点(firstchild)<br />  "的ID号加1(这里我们按照关系型<a href="http://www.gdgbn.com/blist-16-1.html" target="_blank" class="keylink">数据库</a>的ID号来递增)<br />  else<br />  "如是没有字子节点则是第一次<a href="http://www.gdgbn.com/blist-375-1.html" target="_blank" class="keylink">留言</a>ID号设为1<br />   id=1<br />  end if<br />  brstr=chr(13)&chr(10)&chr(9)<br />  "为了插入XML文件中的节点换行空格排列整齐<br />  "(当然你也可以不用这样只是为了XML数据好看而以)<br />  XMLnode=brstr&"<list>"&brstr & _<br />   "<id>"&id&"</id>"&brstr & _<br />   "<username>"&username&"</username>"&brstr & _<br />   "<fromwhere>"&fromwhere&"</fromwhere>"&brstr & _<br />   "<Posttime>"&Posttime&"</Posttime>"&brstr & _<br />   "<homepage>"&homepage&"</homepage>"&brstr & _<br />   "<email>"&email&"</email>"&brstr & _<br />   "<text>"&text&"</text>"&brstr & _<br />   "</list>"&chr(13)<br />  "根据得到的数据建立XML片段<br />  set objXML2=Server.CreateObject("Microsoft.XMLDOM")<br />  "建立一个新XML对像<br />  objXML2.loadXML(XMLnode)<br />  "把XML版片段读入内存中<br />  set rootNewNode=objXML2.documentElement<br />  "获得objXML2的根节点<br />  objRootlist.appendChild(rootNewNode)<br />  "把XML片段插入到List.xml中<br />  objXML.save(strSourceFile)<br />  "存储lsit.xml文件(因为不存储List.xml只在内存中更新了)<br />  set objXML=nothing<br />  set objXML2=nothing<br />  Response.Redirect("index.asp")<br />  response.end<br /> end if<br /> %><br /> <html><br /> <head><br /> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"><br /> <meta name="Author" content="许诺,xunuo"><br /> <title>网络桌面(xml<a href="http://www.gdgbn.com/blist-375-1.html" target="_blank" class="keylink">留言</a>板) - http://www.111cn.net
<script language="javascript" src="other.js"></script>






新留言


姓 名:


**


来 自:





主 页:





Email:





内 容:















编辑xml 文档

<%
 dim id ,action
  id = Request.QueryString("id")
if IsNumeric(id)=false or isNull(id) then
 response.write ("参数不正确,请返回!")
 response.end
end if
 action = Request.QueryString("action")
id = id
if action = "update" then
 id  = request("id")
 username=request.form("username")
 fromwhere =request.form("fromwhere")
 homepage =request.form("homepage")
 email =request.form("email")
 text =request.form("text")
 text =replace(text,"<","<")
 Posttime =now()
 strSourceFile = Server.MapPath("./") & "List.xml"
 "获取XML文件的路径这里根据你的虚拟目录不同而不同
 Set objXML = Server.CreateObject("Microsoft.XMLDOM")
 "创建XML对像
 objXML.load(strSourceFile)
 "把XML文件读入内存中
 Set objRootlist = objXML.documentElement.selectSingleNode("NewList")
 "选取节点
 
 set rootOldNode=objRootlist.childNodes.item(id)
"--------NEW START -----------
  brstr=chr(13)&chr(10)&chr(9)
 XMLnode=brstr&""&brstr & _
  ""&id&""&brstr & _
  ""&username&""&brstr & _
  ""&fromwhere&""&brstr & _
  ""&Posttime&""&brstr & _
  ""&homepage&""&brstr & _
  ""&email&""&brstr & _
  ""&text&""&brstr & _
  "
"&chr(13)
 "根据得到的数据建立XML片段
 set objXML2=Server.CreateObject("Microsoft.XMLDOM")
 "建立一个新XML对像
 objXML2.loadXML(XMLnode)
 "把XML版片段读入内存中
 set rootNewNode=objXML2.documentElement
"===========NEW=============
 objRootlist.ReplaceChild rootNewNode,rootOldNode
 objXML.save(strSourceFile)
 set objXML=nothing
 set objXML2=nothing
 Response.Redirect("index.asp")
 response.end
else
 strSourceFile = Server.MapPath("./") & "List.xml"
 "获取XML文件的路径这里根据你的虚拟目录不同而不同
 Set objXML = Server.CreateObject("Microsoft.XMLDOM")
 "创建XML对像
 objXML.load(strSourceFile)
 "把XML文件读入内存中
 Set objRootsite = objXML.documentElement.selectSingleNode("NewList")
 "选取节点
" response.write objRootsite.childNodes.item(id).childNodes.item(1).text
" response.end
  id   = objRootsite.childNodes.item(id).childNodes.item(0).text
"id号 
  username = objRootsite.childNodes.item(id).childNodes.item(1).text
"获得用户名
  fromwhere = objRootsite.childNodes.item(id).childNodes.item(2).text
"获得用户来自那里
  Posttime = objRootsite.childNodes.item(id).childNodes.item(3).text
"获得留言时间
  homepage = objRootsite.childNodes.item(id).childNodes.item(4).text
"获得用户主页
  email  = objRootsite.childNodes.item(id).childNodes.item(5).text
"获得用户Eamil
  text  = objRootsite.childNodes.item(id).childNodes.item(6).text 
 set objXML = nothing
end if
%>





网络桌面(xml留言板) - http://www.111cn.net
<script language="javascript" src="other.js"></script>







新留言


姓 名:


**


来 自:





主 页:





Email:





内 容:















会用到的js文件

// Function  打印版权
function printCopy(){
// wr(" "); 
// wr("说明:转载本站内容,请务必保留原作者信息。
本站提供的资料或软件多数是在网上搜集,侵犯了您的版权,请来信告诉我们,本站将删除这些内容。 [记事本][进入首页]"); 
}
// Function 打印广告
function printAD(){
// wr ("如需广告位和友情连接
请联系lffxunuo@163.com")
}
printCopy()
printAD()
function wr(str){
 document.write(str) ;
}
function gotoXunuo(){
 window.open("http://www.111cn.net/")
}

本文来源:http://www.gdgbn.com/zhufuduanxin/24030/