六、建立写新留言程序(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="81%">
<input type="text" name="fromwhere" value="中国">
</td>
</tr>
<tr bgcolor="#efefef">
<td width="19%" align="right">主 页:</td>
<td width="81%">
<input type="text" name="homepage" value="http://">
</td>
</tr>
<tr bgcolor="#efefef">
<td width="19%" align="right">email:</td>
<td width="81%">
<input type="text" name="email">
</td>
</tr>
<tr bgcolor="#efefef">
<td width="19%" align="right" valign="top">内 容:</td>
<td width="81%">
<textarea name="text" cols="60" rows="10"></textarea>
</td>
</tr>
<tr bgcolor="#efefef">
<td width="19%" align="right"> </td>
<td width="81%">
<input type="submit" name="submit" value="提交">
<input type="reset" name="submit2" value="重填">
</td>
</tr>
</form>
</table>
</body>
</html>
