用ASP+XML打造留言本 - 3

六、建立写新留言程序(PostNew.asp)

这个文件要实现的功能就是写入新的XML节点,首先创建一个XML对像然后把XML读入内存中,利用appendChild()方法
加入我们生成的XML节点。

 1   
 2username=request.form("username")   
 3if username<>"" then   
 4fromwhere =request.form("fromwhere")   
 5homepage =request.form("homepage")   
 6email =request.form("email")   
 7text =request.form("text")   
 8text =replace(text,"<","<")   
 9Posttime =now()   
10strSourceFile = Server.MapPath("/") & "\List.xml"   
11'获取XML文件的路径这里根据你的虚拟目录不同而不同   
12Set objXML = Server.CreateObject("Microsoft.XMLDOM")   
13'创建XML对像   
14objXML.load(strSourceFile)   
15'把XML文件读入内存中   
16Set objRootlist = objXML.documentElement.selectSingleNode("NewList")   
17'选取

<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)&amp;chr(10)&amp;chr(9)
'为了插入XML文件中的节点换行空格排列整齐
’(当然你也可以不用这样只是为了XML数据好看而以)
XMLnode=brstr&amp;"<list>"&amp;brstr &amp; _
"<id>"&amp;id&amp;"</id>"&amp;brstr &amp; _
"<username>"&amp;username&amp;"</username>"&amp;brstr &amp; _
"<fromwhere>"&amp;fromwhere&amp;"</fromwhere>"&amp;brstr &amp; _
"<posttime>"&amp;Posttime&amp;"</posttime>"&amp;brstr &amp; _
"<homepage>"&amp;homepage&amp;"</homepage>"&amp;brstr &amp; _
"<email>"&amp;email&amp;"</email>"&amp;brstr &amp; _
"<text>"&amp;text&amp;"</text>"&amp;brstr &amp; _
"</list>"&amp;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

 1<html>
 2<head>
 3<title>Untitled Document</title>
 4<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
 5<style type="text/css">   
 6<!--   
 7td { font-size: 9pt}   
 8\-->   
 9</style>
10</head>
11<body bgcolor="#0099CC" text="#000000">
12<table align="center" bgcolor="#FFFFFF" border="0" cellpadding="4" cellspacing="1" width="80%">
13<form action="PostNew.asp" method="post" name="form1">
14<tr bgcolor="#000000">
15<td colspan="2"><font color="#FFFFFF">新留言</font></td>
16</tr>
17<tr bgcolor="#EFEFEF">
18<td align="right" width="19%">姓 名:</td>
19<td width="81%">
20<input name="username" type="text"/>   
21** </td>
22</tr>
23<tr bgcolor="#EFEFEF">
24<td align="right" width="19%">来 自:</td>
25<td width="81%">
26<input name="fromwhere" type="text" value="中国"/>
27</td>
28</tr>
29<tr bgcolor="#EFEFEF">
30<td align="right" width="19%">主 页:</td>
31<td width="81%">
32<input name="homepage" type="text" value="http://"/>
33</td>
34</tr>
35<tr bgcolor="#EFEFEF">
36<td align="right" width="19%">Email:</td>
37<td width="81%">
38<input name="email" type="text"/>
39</td>
40</tr>
41<tr bgcolor="#EFEFEF">
42<td align="right" valign="top" width="19%">内 容:</td>
43<td width="81%">
44<textarea cols="60" name="text" rows="10"></textarea>
45</td>
46</tr>
47<tr bgcolor="#EFEFEF">
48<td align="right" width="19%"> </td>
49<td width="81%">
50<input name="Submit" type="submit" value="提交"/>
51<input name="Submit2" type="reset" value="重填"/>
52</td>
53</tr>
54</form>
55</table>
56</body>
57</html></newlist></newlist></newlist></newlist>
Published At
Categories with 站长专区
Tagged with
comments powered by Disqus