您的位置:首页精文荟萃软件资讯 → 利用XML开发留言板简单的例子

利用XML开发留言板简单的例子

时间:2004/10/8 13:14:00来源:本站整理作者:蓝点我要评论(0)

XML是一种基于文本格式的元标记语言,它注重对数据结构和数据意义的描述,实现了数据内容和显示样式的分离(xml+xsl),而且是与平台无关的。

 

由于XML注重数据内容的描述,因而,对于数据的检索非常有意义,我们不会再象HTML那样,检索出与我们要求无关的信息。

 

另一方面,XML文件是数据的载体,利用XML作为数据库,不需要访问任何数据库系统,我们可以使用任意WEB技术来显示我们的数据,比如HTML,FlashMX 等。

 

由于世界各大计算机公司的积极参与,XML正日益成为基于互联网的数据格式新一代的标准。

 

下面利用XML作为数据的载体,开发一个基于XML的留言板。
 
首先,我们建立XML文件guestbook.xml,该文件记录了留言者的姓名、电子邮件、网址、留言内容。当然,我们也可以根据需要添加任意多的信息。文件内容如下:


<留言本>
<留言记录>
<留言者姓名>KAI
<电子邮件>kai@hostx.org电子邮件>
<网址>http://www.17xml.com
<留言内容>千山万水总是情,常来泡妞行不行?咔咔:_)



由于目前许多服务器都支持ASP,我们采用常见的ASP来作为实现的工具,guestbook.asp文件如下:

<%@Language="VBScript"%>
<%
'设置Web页面的信息
Response.Buffer = true
Response.Expires = -1

'显示留言函数init()
'www.knowsky.com
Function init()
entryForm()

'定义局部变量
Dim objXML
Dim arrNames
Dim arrEmails
Dim arrURLS
Dim arrMessages

'创建XMLDOM文档对象,用来存放留言
Set objXML = server.createObject("Msxml2.DOMDocument")
objXML.async = false
objXML.load(server.MapPath("guestbook.xml"))

'取得留言本各元素的集合
Set arrNames = objXML.getElementsByTagName("留言者姓名")
Set arrEmails = objXML.getElementsByTagName("电子邮件")
Set arrURLS = objXML.getElementsByTagName("网址")
Set arrMessages = objXML.getElementsByTagName("留言内容")

Response.Write "

"
Response.Write ""

'输出留言本各元素的内容,最新的留言先显示
For x=arrNames.length-1 To 0 Step -1
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Next

Response.Write "

"
Response.Write "各位的留言如下:"
Response.Write "

" & arrNames.item(x).text & "

网址:" & arrURLS.item(x).text & "


留言内容:

" & arrMessages.item(x).text &"




"
Set objXML = nothing
End Function

'向XML文件添加留言记录的函数addEntry()
Function addEntry()

'定义局部变量
Dim strName
Dim strEmail
Dim strURL
Dim strMessage

'取得留言表单的输入内容
strName = Request.Form("姓名")
strEmail = Request.Form("电子邮件")
strURL = Request.Form("网址")
strMessage = Request.Form("留言")

Dim objXML
Dim objEntry
Dim objName
Dim objEmail
Dim objURL
Dim objMessage

'向XML文件添加留言内容
Set objXML = server.createObject("Msxml2.DOMDocument")
objXML.async = false
objXML.load(server.MapPath("guestbook.xml"))

Set objEntry = objXML.createNode("element", "留言记录", "")
objXML.documentElement.appendChild(objEntry)

Set objName = objXML.createNode("element", "留言者姓名", "")
objEntry.appendChild(objName)
objName.text = strName

Set objEmail = objXML.createNode("element", "电子邮件", "")
objEntry.appendChild(objEmail)
objEmail.text = strEmail

Set objURL = objXML.createNode("element", "网址", "")
objEntry.appendChild(objURL)
objURL.text = strURL

Set objMessage = objXML.createNode("element", "留言内容", "")
objEntry.appendChild(objMessage)
objMessage.text = strMessage

objXML.save(server.MapPath("guestbook.xml"))

Response.Redirect("guestbook.asp")

End function

'填写和发送留言表单的函数entryForm()
Function entryForm()

Response.Write "

XML 留言本 例子

"
Response.Write "

"
Response.Write "

"
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write ""
Response.Write "

您的姓名:
电子邮件:
<input type=text name=电子邮件 />
您的网址:
您的留言:


"
Response.Write "

"

End Function
%>

XML 留言例子

 




<%
'判断是否发送了留言,并更新留言信息
Dim a
a = Request.Querystring("action")
If a<>"" Then
addEntry
else
init
End If
%>

以上是利用XML开发留言板简单的例子,完全是抛砖引玉,可以根据需要进行添加更多的功能,所有程序在WIN2000+IIS5.0+IE5.5调试通过.

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本