Home  >  Article  >  Web Front-end  >  A simple example of using XML to develop message boards

A simple example of using XML to develop message boards

黄舟
黄舟Original
2017-03-06 16:25:532267browse

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 also add as much information as needed. 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"%> 
<% 
&#39;设置Web页面的信息 
Response.Buffer = true 
Response.Expires = -1 
  
&#39;显示留言函数init() 
&#39;www.knowsky.com
Function init() 
entryForm() 
  
&#39;定义局部变量 
Dim objXML 
Dim arrNames 
Dim arrEmails 
Dim arrURLS 
Dim arrMessages 
  
&#39;创建XMLDOM文档对象,用来存放留言 
Set objXML = server.createObject("Msxml2.DOMDocument") 
objXML.async = false 
objXML.load(server.MapPath("guestbook.xml")) 
  
&#39;取得留言本各元素的集合 
Set arrNames = objXML.getElementsByTagName("留言者姓名") 
Set arrEmails = objXML.getElementsByTagName("电子邮件") 
Set arrURLS = objXML.getElementsByTagName("网址") 
Set arrMessages = objXML.getElementsByTagName("留言内容") 
  
Response.Write "<table border=&#39;0&#39; width=&#39;100%&#39;>" 
Response.Write "<tr><td bgcolor=&#39;#00CCFF&#39; align=&#39;center&#39; height=&#39;26&#39;>" 
Response.Write "<b>各位的留言如下:</b>" 
Response.Write "</td></tr>" 
  
&#39;输出留言本各元素的内容,最新的留言先显示 
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=&#39;_blank&#39;>" & arrURLS.item(x).text & "</a><td></tr>" 
Response.Write "<tr><td>留言内容:</td></tr>" 
Response.Write "<tr><td bgcolor=&#39;#0099ff&#39;>" & arrMessages.item(x).text &"</td></tr>" 
Response.Write "<tr><td> </td></tr>" 
Next 
  
Response.Write "</table>" 
Set objXML = nothing 
End Function 
  
&#39;向XML文件添加留言记录的函数addEntry() 
Function addEntry() 
  
&#39;定义局部变量 
Dim strName 
Dim strEmail 
Dim strURL 
Dim strMessage 
  
&#39;取得留言表单的输入内容 
strName = Request.Form("姓名") 
strEmail = Request.Form("电子邮件") 
strURL = Request.Form("网址") 
strMessage = Request.Form("留言") 
  
Dim objXML 
Dim objEntry 
Dim objName 
Dim objEmail 
Dim objURL 
Dim objMessage 
  
&#39;向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 
  
&#39;填写和发送留言表单的函数entryForm() 
Function entryForm() 
  
Response.Write "<p align=&#39;center&#39;><b>XML 留言本 例子</b></p>" 
Response.Write "<hr color=&#39;#000099&#39; width=&#39;100%&#39; 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> 
<% 
&#39;判断是否发送了留言,并更新留言信息 
Dim a 
a = Request.Querystring("action") 
If a<>"" Then 
addEntry 
else 
init 
End If 
%> 
</body> 
</html>

The above is the use of XML to develop message boards A simple example is just an introduction. You can add more functions as needed. All programs pass debugging on WIN2000+IIS5.0+IE5.5.


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn