Heim >Web-Frontend >H5-Tutorial >Ein einfaches Beispiel für die Verwendung von XML zur Entwicklung von Message Boards
xml ist eine auf dem Textformat basierende Meta-Markup-Sprache. Sie konzentriert sich auf die Beschreibung der Datenstruktur und der Datenbedeutung, realisiert die Trennung von Dateninhalt und Anzeigestil (xml + xsl) und ist plattformunabhängig.
Da sich XML auf die Beschreibung von Dateninhalten konzentriert, ist es für den Datenabruf sehr aussagekräftig. Wir werden keine Informationen mehr abrufen, die für unsere Anforderungen irrelevant sind, wie dies bei HTML der Fall ist.
Andererseits sind XML-Dateien der Träger von Daten. Für die Verwendung von XML als Datenbank ist kein Zugriff auf ein Datenbanksystem erforderlich. Wir können jede beliebige WEB-Technologie verwenden, um unsere Daten anzuzeigen. usw.
Aufgrund der aktiven Beteiligung großer Computerunternehmen weltweit entwickelt sich XML zunehmend zu einem Standard der neuen Generation für internetbasierte Datenformate.
Im Folgenden wird XML als Datenträger verwendet, um ein XML-basiertes Message Board zu entwickeln.
Zuerst erstellen wir die XML-Datei „guestbook.xml“, die den Namen, die E-Mail-Adresse, die Website und den Inhalt der Nachricht aufzeichnet. Selbstverständlich können wir auch beliebig viele Informationen hinzufügen. Der Inhalt der Datei lautet wie folgt:
<?xml version="1.0" encoding="gb2312"?> <留言本> <留言记录> <留言者姓名>KAI</留言者姓名> <电子邮件>kai@hostx.org</电子邮件> <网址>http://www.17xml.com </网址> <留言内容>千山万水总是情,常来泡妞行不行?咔咔:_)</留言内容> </留言记录> </留言本>
Da viele Server derzeit ASP unterstützen, verwenden wir gängiges ASP als Implementierungstool. Die Datei „guestbook.asp“ lautet wie folgt:
<%@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>
Das obige ist die Verwendung eines einfachen XML-Entwicklungs-Messageboards. Sie können nach Bedarf weitere Funktionen hinzufügen.