国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

ASP開發(fā)基于XML的留言板

2024-05-04 11:10:04
字體:
供稿:網(wǎng)友

XML(Extensible Markup Language)是一種基于文本格式的標(biāo)記語言,它注重對(duì)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)意義的描述,實(shí)現(xiàn)了數(shù)據(jù)內(nèi)容和顯示樣式的分離,而且是與平臺(tái)無關(guān)的。下面利用XML作為數(shù)據(jù)的載體,開發(fā)一個(gè)基于XML的留言板。

XML(Extensible Markup Language)是一種基于文本格式的標(biāo)記語言,它注重對(duì)數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)意義的描述,實(shí)現(xiàn)了數(shù)據(jù)內(nèi)容和顯示樣式的分離,而且是與平臺(tái)無關(guān)的。由于XML注重?cái)?shù)據(jù)內(nèi)容的描述,因而,對(duì)于數(shù)據(jù)的檢索非常有意義,我們不會(huì)再象HTML那樣,檢索出與我們要求無關(guān)的信息。另一方面,XML文件是數(shù)據(jù)的載體,利用XML作為數(shù)據(jù)庫,不需要訪問任何數(shù)據(jù)庫系統(tǒng),我們可以使用任意WEB技術(shù)來顯示我們的數(shù)據(jù),比如HTML,F(xiàn)lash 5 等。由于世界各大計(jì)算機(jī)公司的積極參與,XML正日益成為基于互聯(lián)網(wǎng)的數(shù)據(jù)格式新一代的標(biāo)準(zhǔn)。下面利用XML作為數(shù)據(jù)的載體,開發(fā)一個(gè)基于XML的留言板。

首先,我們建立XML文件guestbook.xml,該文件記錄了留言者的姓名、電子郵件、網(wǎng)址、留言內(nèi)容。當(dāng)然,我們也可以根據(jù)需要添加任意多的信息。

文件內(nèi)容如下:

 

 
  1. <?xml version="1.0" encoding="gb2312"?> 
  2. <留言本> 
  3. <留言記錄> 
  4. <留言者姓名>孟憲會(huì)</留言者姓名> 
  5. <電子郵件>amxh@testDomain.com</電子郵件> 
  6. <網(wǎng)址>http://go.163.com/~colorweb</網(wǎng)址> 
  7. <留言內(nèi)容>測試成功?。?lt;/留言內(nèi)容> 
  8. </留言記錄> 
  9. </留言本> 

由于目前許多服務(wù)器都支持ASP,我們采用常見的ASP來作為實(shí)現(xiàn)的工具,guestbook.asp文件如下:

 

 
  1. <%@Language="VBScript"%> 
  2. <% 
  3. '設(shè)置Web頁面的信息 
  4. Response.Buffer = true 
  5. Response.Expires = -1 
  6. '顯示留言函數(shù)init() 
  7. Function init() 
  8. entryForm() 
  9. '定義局部變量 
  10. Dim objXML 
  11. Dim arrNames 
  12. Dim arrEmails 
  13. Dim arrURLS 
  14. Dim arrMessages 
  15. '創(chuàng)建XMLDOM文檔對(duì)象,用來存放留言 
  16. Set objXML = server.createObject("Msxml2.DOMDocument"
  17. objXML.async = false 
  18. objXML.load(server.MapPath("guestbook.xml")) 
  19. '取得留言本各元素的集合 
  20. Set arrNames = objXML.getElementsByTagName("留言者姓名"
  21. Set arrEmails = objXML.getElementsByTagName("電子郵件"
  22. Set arrURLS = objXML.getElementsByTagName("網(wǎng)址"
  23. Set arrMessages = objXML.getElementsByTagName("留言內(nèi)容"
  24. Response.Write "<table border='0' width='100%'>" 
  25. Response.Write "<tr><td bgcolor='#00CCFF' align='center' height='26'>" 
  26. Response.Write "<b>各位的留言如下:</b>" 
  27. Response.Write "</td></tr>" 
  28. '輸出留言本各元素的內(nèi)容,最新的留言先顯示 
  29. For x=arrNames.length-1 To 0 Step -1 
  30. Response.Write "<tr><td><a href=mailto:" & arrEmails.item(x).text & ">" & arrNames.item(x).text & "</a></td></tr>" 
  31. Response.Write "<tr><td>網(wǎng)址:<a href=" & arrURLS.item(x).text & " target='_blank'>" & arrURLS.item(x).text & "</a><td></tr>" 
  32. Response.Write "<tr><td>留言內(nèi)容:</td></tr>" 
  33. Response.Write "<tr><td bgcolor='#0099ff'>" & arrMessages.item(x).text &"</td></tr>" 
  34. Response.Write "<tr><td></td></tr>" 
  35. Next 
  36. Response.Write "</table>" 
  37. Set objXML = nothing 
  38. End Function 
  39. '向XML文件添加留言記錄的函數(shù)addEntry() 
  40. Function addEntry() 
  41. '定義局部變量 
  42. Dim strName 
  43. Dim strEmail 
  44. Dim strURL 
  45. Dim strMessage 
  46. '取得留言表單的輸入內(nèi)容 
  47. strName = Request.Form("姓名"
  48. strEmail = Request.Form("電子郵件"
  49. strURL = Request.Form("網(wǎng)址"
  50. strMessage = Request.Form("留言"
  51. Dim objXML 
  52. Dim objEntry 
  53. Dim objName 
  54. Dim objEmail 
  55. Dim objURL 
  56. Dim objMessage 
  57. '向XML文件添加留言內(nèi)容 
  58. Set objXML = server.createObject("Msxml2.DOMDocument"
  59. objXML.async = false 
  60. objXML.load(server.MapPath("guestbook.xml")) 
  61. Set objEntry = objXML.createNode("element""留言記錄"""
  62. objXML.documentElement.appendChild(objEntry) 
  63. Set objName = objXML.createNode("element""留言者姓名"""
  64. objEntry.appendChild(objName) 
  65. objName.text = strName 
  66. Set objEmail = objXML.createNode("element""電子郵件"""
  67. objEntry.appendChild(objEmail) 
  68. objEmail.text = strEmail 
  69. Set objURL = objXML.createNode("element""網(wǎng)址"""
  70. objEntry.appendChild(objURL) 
  71. objURL.text = strURL 
  72. Set objMessage = objXML.createNode("element""留言內(nèi)容"""
  73. objEntry.appendChild(objMessage) 
  74. objMessage.text = strMessage 
  75. objXML.save(server.MapPath("guestbook.xml")) 
  76. Response.Redirect("guestbook.asp"
  77. End function 
  78. '填寫和發(fā)送留言表單的函數(shù)entryForm() 
  79. Function entryForm() 
  80. Response.Write "<p align='center'><b>XML 留言本 例子</b></p>" 
  81. Response.Write "<hr color='#000099' width='100%' noshade>" 
  82. Response.Write "<form action=guestbook.asp?action=addEntry method=post>" 
  83. Response.Write "<table border=1>" 
  84. Response.Write "<tr><td>您的姓名:</td><td><input type=text name=姓名 /></td></tr>" 
  85. Response.Write "<tr><td>電子郵件:</td><td><input type=text name=電子郵件 /></td></tr>" 
  86. Response.Write "<tr><td>您的網(wǎng)址:</td><td><input type=text name=網(wǎng)址 /></td></tr>" 
  87. Response.Write "<tr><td>您的留言:</td><td><textarea name=留言 cols=40 rows=5></textarea></td></tr>" 
  88. Response.Write "<tr><td></td><td><input type=submit value=發(fā)布留言 /></td></tr>" 
  89. Response.Write "</table>" 
  90. Response.Write "</form>" 
  91. End Function 
  92. %> 
  93. <html> 
  94. <head> 
  95. <title>XML 留言例子</title> 
  96. <meta http-equiv="Content-Type" content="text/html; charset=gb2312"
  97. </head> 
  98. <body> 
  99. <% 
  100. '判斷是否發(fā)送了留言,并更新留言信息 
  101. Dim a 
  102. a = Request.Querystring("action"
  103. If a<>"" Then 
  104. addEntry 
  105. else 
  106. init 
  107. End If 
  108. %> 
  109. </body> 
  110. </html> 

以上是利用XML開發(fā)留言板簡單的例子,可以根據(jù)需要進(jìn)行添加更多的功能。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 秀山| 肥城市| 孟村| 吴旗县| 石景山区| 高要市| 金乡县| 黑山县| 略阳县| 杭锦后旗| 班戈县| 万盛区| 香河县| 耒阳市| 益阳市| 香港| 阿拉尔市| 瓦房店市| 鞍山市| 枣阳市| 弋阳县| 乐清市| 基隆市| 普安县| 茶陵县| 汾西县| 镇坪县| 苏尼特左旗| 博乐市| 沭阳县| 简阳市| 鹤岗市| 宁都县| 贵港市| 沐川县| 斗六市| 紫阳县| 布拖县| 凌源市| 循化| 广饶县|