利用ASP+XML打造個人化留言本(2)

來源:互聯網
上載者:User

六、建立寫新留言程式(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>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.