xml est un langage de méta-balisage basé sur le format texte. Il se concentre sur la description de la structure des données et de leur signification, réalise la séparation du contenu des données et du style d'affichage (xml xsl) et est indépendant de la plate-forme.
Étant donné que XML se concentre sur la description du contenu des données, il est très significatif pour la récupération de données. Nous ne récupérerons plus d'informations non pertinentes par rapport à nos besoins comme le fait HTML.
D'autre part, les fichiers XML sont le support de données. L'utilisation de XML comme base de données ne nécessite l'accès à aucun système de base de données. Nous pouvons utiliser n'importe quelle technologie WEB pour afficher nos données, comme HTML, FlashMX, etc.
En raison de la participation active des grandes sociétés informatiques du monde, XML devient de plus en plus une norme de nouvelle génération pour les formats de données basés sur Internet.
Ce qui suit utilise XML comme support de données pour développer un forum de messages basé sur XML.
Tout d'abord, nous créons le fichier XML guestbook.xml, qui enregistre le nom, l'e-mail, le site Web et le contenu du message. Bien entendu, nous pouvons ajouter autant d’informations que nécessaire. Le contenu du fichier est le suivant :
<?xml version="1.0" encoding="gb2312"?> <留言本> <留言记录> <留言者姓名>KAI</留言者姓名> <电子邮件>kai@hostx.org</电子邮件> <网址>http://www.17xml.com </网址> <留言内容>千山万水总是情,常来泡妞行不行?咔咔:_)</留言内容> </留言记录> </留言本>
Étant donné que de nombreux serveurs prennent actuellement en charge asp, nous utilisons l'ASP commun comme outil d'implémentation. Le fichier guestbook.asp est le suivant :
<%@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>