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

ASP
ASP技巧:在Access数据库中重命名表
用ASP编程实现网络内容快速查找
比较ASP生成静态HTML文件的几种方法
ASP实例:实现邮件发送普通附件和嵌入附件
如何用ASP实现去掉三个最高分和三个最低分
ASP实例:Access为后台数据库的网站统计系统
用标签替换的方法生成静态网页
例程:用ASP判断文件地址是否有效
学ASp动态网页必备:常用的38个函数
ASP教程:初次接触学习ASP脚本程序
ASPJPEG水印中关于文字水印的帮助文档(中英文对照)
ASP例子:ASP把汉字转化为拼音的函数
ASP教程:学习ASP应用Cookies的技巧
ASP入门:认识ASP程序所使用的几种脚本语言
初学者的ASP教程:常用ASP内置函数
ASP初级教程之ASP对表单和用户输入的处理
学习ASP文件引用的方法
用ASP编写更人性化的弹出窗口程序
谈谈学习ASP动态网页制作技术的编程心得
用ASP程序实现网站在线人数统计

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 30 ::
收藏到网摘: 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=