-- 作者:weblove26
-- 发布时间:4/18/2004 12:04:00 AM
-- 关于留言本程序,进来看看
对XML老手老说这问题太菜了,就是怎么删除一条留言啊,removeChild怎么用,能把删除一条留言的代码写一下吗?谢谢 list.xml <?xml version="1.0" encoding="gb2312"?> <xml><GuestBook><item><id>1</id><username>charry</username><fromwhere>61.191.196.12</fromwhere><posttime>2003-6-15 18:47:21</posttime><homepage>http://charry.org</homepage><email>charry@charry.org</email><text>我在学xml 大家共同来研究:)</text></item> <item><id>2</id><username>charry</username><fromwhere>218.104.76.16</fromwhere><posttime>2003-6-16 16:10:42</posttime><homepage>http://charry.org</homepage><email>charry</email><text>今天和张三打球,我赢了!</text></item></GuestBook></xml> index.asp代码如下 <% strSourceFile = Server.MapPath("List.xml") Set objXML = Server.CreateObject("Microsoft.FreeThreadedXMLDOM") objXML.load(strSourceFile) Set objRootsite = objXML.documentElement.selectSingleNode("GuestBook") %> <html> <head> <title>留言本(Powered by XML)</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <style type="text/css"> <!-- td { font-family: "宋体"; font-size: 9pt; text-decoration: none} a { font-family: "宋体"; font-size: 9pt; color: #0066CC; text-decoration: none} a:hover { color: #FF6600; text-decoration: underline} --> </style> </head> <body bgcolor="#0099CC" text="#000000"> <table width="80%" border="0" cellspacing="1" cellpadding="4" align="center" bgcolor="#CCCCCC"> <tr bgcolor="#000000"> <td colspan="2"> <font color="#FFFFFF">留言溥</font> <a href="PostNew.asp"><font color=#FFFFFF>写新留言</font></a> </td> </tr> <% '每页显示10条留言 PageSize =10 '获取子节点数据(因为是从节点数从0开始的所最大子节点数要减1) AllNodesNum = objRootsite.childNodes.length - 1 '算出总页数 PageNum = AllNodesNum\PageSize + 1 PageNo = Request.querystring("PageNo") '如果是每一次获得页面则定位到每一页显示最新的留言 if PageNo="" then PageNo = PageNum end if '获得起始节点 StarNodes = PageNo*PageSize - 1 '获得结束节点 EndNodes = (PageNo-1)*PageSize if EndNodes < 0 then EndNodes = 0 end If '判断起始节点数是否超过总的节点数 if StarNodes > AllNodesNum then '如果超过则结束节点要减去(StarNodes-AllNodesNum)的差值否则下标会超界出错 EndNodes=EndNodes-(StarNodes-AllNodesNum) StarNodes=AllNodesNum end if if EndNodes < 0 then EndNodes=0 end if while StarNodes >= EndNodes username = objRootsite.childNodes.item(StarNodes).childNodes.item(1).text fromwhere = objRootsite.childNodes.item(StarNodes).childNodes.item(2).text Posttime = objRootsite.childNodes.item(StarNodes).childNodes.item(3).text homepage = objRootsite.childNodes.item(StarNodes).childNodes.item(4).text email = objRootsite.childNodes.item(StarNodes).childNodes.item(5).text text = objRootsite.childNodes.item(StarNodes).childNodes.item(6).text '替代回车 text = Replace(text,Chr(13),"<br>") '替代空格 text = Replace(text,Chr(32)," ") text = Replace(text,"<","<") text = Replace(text,">",">") %> <tr bgcolor="#F0F0F0"> <td width="21%" height="94" valign="top">姓 名:<%=username%><br> 来 自:<%=fromwhere%><br> </td> <td width="79%" height="94" valign="top"> | <a href="<%=homepage%>" target=_blank title="<%=username%>的主页">主页</a> | | <a href="mailto:<%=email%>" title="给<%=username%>写信">信箱</a> | |<font color="#CC6633"> 留言时间:<%=Posttime%> </font>| <hr> <pre><%=text%></pre></td> </tr> <tr bgcolor="#FFFFFF" align="right"> <td colspan="2"> </td> </tr> <% StarNodes = StarNodes - 1 wend set objXML = nothing %> <tr bgcolor="#FFFFFF" align="right"> <td colspan="2"> 共有<<%=PageNum%>>页 <% if cint(PageNo)<>PageNum then'分页 response.write "<a href='index.asp?PageNo="&(PageNo+1)&"'>上一页</a>" end if if cint(PageNo)<>1 then response.write "<a href='index.asp?PageNo="&(PageNo-1)&"'>下一页</a> " end if %> </td> </tr> </table> </body> </html> PostNew.asp代码: <% username = Request.Form("username") if username <> "" then fromwhere = Request.ServerVariables("REMOTE_HOST") homepage = Request.Form("homepage") email = Request.Form("email") text = Request.Form("text") 'text = Replace(text,"<","<") 'text = Replace(text,">",">") Posttime =now() strSourceFile = Server.MapPath("List.xml") Set objXML = Server.CreateObject("Microsoft.XMLDOM") objXML.load(strSourceFile) If objXML.parseError.ErrorCode <> 0 Then objXML.loadXML "<?xml version=""1.0"" encoding=""gb2312"" ?><xml><GuestBook></GuestBook></xml>" End If Set objRootlist = objXML.documentElement.selectSingleNode("GuestBook") If objRootlist.hasChildNodes then id = objRootlist.lastChild.firstChild.text + 1 Else id=1 End If Set oListNode = objXML.documentElement.selectSingleNode("GuestBook").AppendChild(objXML.createElement("item")) Set oDetailsNode = oListNode.appendChild(objXML.createElement("id")) oDetailsNode.Text = id Set oDetailsNode = oListNode.appendChild(objXML.createElement("username")) oDetailsNode.Text = username Set oDetailsNode = oListNode.appendChild(objXML.createElement("fromwhere")) oDetailsNode.Text = fromwhere Set oDetailsNode = oListNode.appendChild(objXML.createElement("Posttime")) oDetailsNode.Text = Posttime Set oDetailsNode = oListNode.appendChild(objXML.createElement("homepage")) oDetailsNode.Text = homepage Set oDetailsNode = oListNode.appendChild(objXML.createElement("email")) oDetailsNode.Text = email Set oDetailsNode = oListNode.appendChild(objXML.createElement("text")) oDetailsNode.Text = text objXML.save(strSourceFile) Set objXML=nothing response.write "谢谢您的留言" Response.Redirect "index.asp" response.end End if %> <html> <head> <title>撰写留言</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="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>
|