Home > Article > Backend Development > Simple example code analysis for developing message boards using XML
xml is a meta-markup language based on text format. It focuses on the description of data structure and data meaning, realizes the separation of data content and display style (xml+xsl), and is platform-independent.
Because XML focuses on the description of data content, it is very meaningful to retrieve data. We will no longer retrieve information that is irrelevant to our requirements like HTML.
On the other hand, XML files are the carrier of data. Using XML as a database does not require access to any database system. We can use any WEB technology to display our data, such as HTML, FlashMX, etc.
Due to the active participation of major computer companies in the world, XML is increasingly becoming a new generation standard for Internet-based data formats.
The following uses XML as the data carrier to develop an XML-based message board.
First, we create the XML file guestbook.xml, which records the name, email, website address, and message content of the leaver. Of course, we can add as much information as we need. The content of the file is as follows:
<?xml version="1.0" encoding="gb2312"?> <留言本> <留言记录> <留言者姓名>KAI</留言者姓名> <电子邮件>kai@hostx.org</电子邮件> <网址>http://www.17xml.com </网址> <留言内容>千山万水总是情,常来泡妞行不行?咔咔:_)</留言内容> </留言记录> </留言本>
Since many servers currently support asp, we use common ASP as the implementation tool. The guestbook.asp file is as follows:
<%@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>
The above is using XML A simple example of developing a message board is just a starting point. You can add more functions as needed. All programs are debugged in WIN2000+IIS5.0+IE5.5.
The above is a simple example of using XML to develop a message board. Example code analysis content, for more related content, please pay attention to the PHP Chinese website (www.php.cn)!