当前位置: 首页 > 图文教程 > 网络编程 > ASP > 用ASP+XML打造留言本(3)

ASP
Access 2000 数据库 80 万记录通用快速分页类
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
收藏的ASP常用的函数集
asp分页的一个类
ASP开发网页牢记注意事项
ASP下操作Excel技术总结分析
ASP数据岛操作类
ASP经典分页类
asp论坛在线人数统计研究
ASP调用SQL SERVER存储程序
asp输出bmp
ASP连接数据库的全能代码
ASP面向对象编程探讨及比较
web文件管理器的后续开发
一小偷类!!有兴趣的可以看看
利用ASP实现事务处理的方法
大数量查询分页显示 微软的解决办法
如何把ASP编写成DLL
asp实现树型结构
超级ASP大分页_我的类容我做主

用ASP+XML打造留言本(3)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 150 ::
收藏到网摘: n/a

       六、建立写新留言程序(PostNew.asp)
  
    这个文件要实现的功能就是写入新的XML节点,首先创建一个XML对像然后把XML读入内存中,利用appendChild()方法加入我们生成的XML节点。
  
  <%
  username=request.form("username")
  if username<>"" then
  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")
  '选取<NewList>节点
  if objRootlist.hasChildNodes then
  '判断<NewList>是否有子节点(因为如果是每一次<NewList>是没有子节点的,
  ’ 如果不加判断在第一次运得时就会报错
  id = objRootlist.lastchild.firstchild.text+1
  '这里获得将要插入子节点的ID号,其ID号为<NewList>的最后一个子节点(lastchild)的第一个子节点(firstchild)的ID号加1(这里我们按照关系型数据库的ID号来递增)
  else
  '如是没有字子节点则是第一次留言ID号设为1
  id=1
  end if
  brstr=chr(13)&chr(10)&chr(9)
  '为了插入XML文件中的节点换行空格排列整齐
  ’(当然你也可以不用这样只是为了XML数据好看而以)
  XMLnode=brstr&"<list>"&brstr & _
  "<id>"&id&"</id>"&brstr & _
  "<username>"&username&"</username>"&brstr & _
  "<fromwhere>"&fromwhere&"</fromwhere>"&brstr & _
  "<Posttime>"&Posttime&"</Posttime>"&brstr & _
  "<homepage>"&homepage&"</homepage>"&brstr & _
  "<email>"&email&"</email>"&brstr & _
  "<text>"&text&"</text>"&brstr & _
  "</list>"&chr(13)
  '根据得到的数据建立XML片段
  set objXML2=Server.CreateObject("Microsoft.XMLDOM")
  '建立一个新XML对像
  objXML2.loadXML(XMLnode)
  '把XML版片段读入内存中
  set rootNewNode=objXML2.documentElement
  '获得objXML2的根节点
  objRootlist.appendChild(rootNewNode)
  '把XML片段插入到List.xml中
  objXML.save(strSourceFile)
  '存储lsit.xml文件(因为不存储List.xml只在内存中更新了)
  set objXML=nothing
  set objXML2=nothing
  response.write "谢谢您的留言"
  response.end
  
  end if
  %>
  <html>
  <head>
  <title>Untitled Document</title>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
  <style type="text/css">
  <!--
  td { font-size: 9pt}
  -->
  </style>
  </head>
  <body bgcolor="#0099CC" text="#000000">
  <table width="80%" border="0" cellspacing="1" cellpadding="4" align="center" bgcolor="#FFFFFF">
  <form action="PostNew.asp" method="post" name="form1">
  <tr bgcolor="#000000">
  <td colspan="2"><font color="#FFFFFF">新留言</font></td>
  </tr>
  <tr bgcolor="#EFEFEF">
  <td width="19%" align="right">姓 名:</td>
  <td width="81%">
  <input type="text" name="username">
  ** </td>
  </tr>
  <tr bgcolor="#EFEFEF">
  <td width="19%" align="right">来 自:</td>
  <td width=