以下是guestbook.xml文件
<?xml version="1.0" encoding="gb2312"?> <leaveword> <wordcontent> <Name>秦迷</Name> <E_mail>qunmin@gmail.com</E_mail> <Website>#</Website> <Content>I'm ChyiChin'fan</Content> </wordcontent> </leaveword>
以下是ASP的文件
<html> <head> <title>XML 留言例子</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <% '判断是否发送了留言,并更新留言信息 If Request.Querystring("action")<>"" Then addEntry'添加留言 else init'初始化 End If %> </body> </html>
<% Response.Buffer = true'此页面使用缓冲 Response.Expires = -1'立即过期
Function init() lyForm()'发送留言表单的函数lyForm() '定义局部变量 Dim objXML Dim arrNames Dim arrEmails Dim arrURLS Dim arrMessages
Set objXML = Server.CreateObject("Msxml2.DOMDocument")'创建XMLDOM文档对象,用来保存留言 objXML.async = false'表示同步 objXML.load(Server.MapPath("guestbook.xml"))'加载guestbook.xml文件
Set arrNames = objXML.getElementsByTagName("Name")'获取guestbook.xml里各元素的集合 Set arrEmails = objXML.getElementsByTagName("E_mail") Set arrURLS = objXML.getElementsByTagName("Website") Set arrMessages = objXML.getElementsByTagName("Content") %> <table border="1" cellpadding="0" cellspacing="0" bordercolor="#FEEDF5" width="750" align="center"> <tr><td bgcolor="#00CCFF" align="center" height="26">各位的留言如下:</td></tr>
<% For x=arrNames.length-1 To 0 Step -1 %> <tr><td>邮件地址:<a href="mailto:<%=arrEmails.item(x).text%>"><%=arrNames.item(x).text%></a></td></tr> <tr><td> 网址:<a href="<%=arrURLS.item(x).text%>" target="_blank"><%=arrURLS.item(x).text%></a><td></tr> <tr><td bgcolor="#FEEDF5">留言内容:<%=arrMessages.item(x).text%></td></tr> <% Next %> </table> <% Set objXML = nothing End Function %>
<% Function addEntry()'向XML文件添加留言记录的函数 '定义局部变量 Dim strName Dim strEmail Dim strURL Dim strMessage strName = Request.Form("Name")'取得留言表单的输入内容 strEmail = Request.Form("E_mail") strURL = Request.Form("Website") strMessage = Request.Form("Content") Dim objXML Dim objEntry Dim objName Dim objEmail Dim objURL Dim objMessage Set objXML = server.createObject("Msxml2.DOMDocument")'创建XMLDOM文档对象,用来创建节点 objXML.async = false'表示同步 objXML.load(server.MapPath("guestbook.xml"))'加载guestbook.xml
Set objEntry = objXML.createNode("element", "wordcontent", "")'创建<wordcontent></wordcontent>节点 objXML.documentElement.appendChild(objEntry)
Set objName = objXML.createNode("element", "Name", "")'创建<Name></Name>节点 objEntry.appendChild(objName) objName.text = strName Set objEmail = objXML.createNode("element", "E_mail", "")'创建<E_mail></E_mail>节点 objEntry.appendChild(objEmail) objEmail.text = strEmail Set objURL = objXML.createNode("element", "Website", "")'创建<Website></Website>节点 objEntry.appendChild(objURL) objURL.text = strURL Set objMessage = objXML.createNode("element", "Content", "")'创建<Content></Content>节点 objEntry.appendChild(objMessage) objMessage.text = strMessage
objXML.save(server.MapPath("guestbook.xml"))'留言保存到guestbook.xml Response.Redirect("guestbook.asp") End function %>
<% Function lyForm()'发送留言表单的函数lyForm() %> <p align="center"><b>XML留言板</b></p> <hr align="center" width="750" noshade color="#000099"> <form action=guestbook.asp?action=addEntry method=post> <table border=1 cellpadding=0 cellspacing=0 bordercolor=#FEEDF5 align=center width=750> <tr><td width="292" align="right">姓 名:</td> <td width="452"><input type=text name=Name /></td></tr> <tr><td align="right">电子邮件:</td> <td><input type=text name=E_mail /></td></tr> <tr><td align="right">网 址:</td> <td><input type=text name=Website /></td></tr> <tr><td align="right">留言内容:</td> <td><textarea name=Content cols=40 rows=5 id="Content"></textarea></td></tr> <tr><td colspan="2" align="center"><input type=submit value=发布留言 /> <input type="reset" name="Submit" value="重 置" /> </td></tr> </table> </form> <% End Function %>
|