选择显示字体大小

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

xml是一种基于文本格式的元标记语言,它注重对数据结构和数据意义的描述,实现了数据内容和显示样式的分离(xml+xsl),而且是与平台无关的 由于xml注重数据内容的描述,因而,对于数据的检索非常有意义,我们不会再象html那样,检索出与我们要求无关的信息。

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

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

下面利用xml作为数据的载体,开发一个基于xml的留言板。
 
首先,我们建立xml文件guestbook.xml,该文件记录了留言者的姓名、电子邮件、网址、留言内容。当然,我们也可以根据需要添加任意多的信息。文件内容如下:
 
<?xml version="1.0" encoding="gb2312"?>
<留言本>
<留言记录>
<留言者姓名>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 "<table border='0' width='100%'>"
response.write "<tr><td bgcolor='#00ccff' align='center' height='26'>"
response.write "<b>各位的留言如下:</b>"
response.write "</td></tr>"
 
'输出留言本各元素的内容,最新的留言先显示
for x=arrnames.length-1 to 0 step -1
response.write "<tr><td><a href=mailto:" & arremails.item(x).text & ">" & arrnames.item(x).text & "</a></td></tr>"
response.write "<tr><td>网址:<a href=" & arrurls.item(x).text & " target='_blank'>" & arrurls.item(x).text & "</a><td></tr>"
response.write "<tr><td>留言内容:</td></tr>"
response.write "<tr><td bgcolor='#0099ff'>" & arrmessages.item(x).text &"</td></tr>"
response.write "<tr><td> </td></tr>"
next
 
response.write "</table>"
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 "<p align='center'><b>xml 留言本 例子</b></p>"
response.write "<hr color='#000099' width='100%' noshade>"
response.write "<form action=guestbook.asp?action=addentry method=post>"
response.write "<table border=1>"
response.write "<tr><td>您的姓名:</td><td><input type=text name=姓名 /></td></tr>"
response.write "<tr><td>电子邮件:</td><td><input type=text name=电子邮件 /></td></tr>"
response.write "<tr><td>您的网址:</td><td><input type=text name=网址 /></td></tr>"
response.write "<tr><td>您的留言:</td><td><textarea name=留言 cols=40 rows=5></textarea></td></tr>"
response.write "<tr><td> </td><td><input type=submit value=发布留言 /></td></tr>"
response.write "</table>"
response.write "</form>"
 
end function
%>
<html>
<head>
<title>xml 留言例子</title>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head>
<body>
<%
'判断是否发送了留言,并更新留言信息
dim a
a = request.querystring("action")
if a<>"" then
addentry
else
init
end if
%>
</body>
</html>
 
以上是利用xml开发留言板简单的例子,完全是抛砖引玉,可以根据需要进行添加更多的功能,所有程序在win2000+iis5.0+ie5.5调试通过.

 


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons