집 >백엔드 개발 >XML/RSS 튜토리얼 >XML을 이용한 게시판 개발을 위한 간단한 예제 코드 분석
xml은 텍스트 형식을 기반으로 하는 메타 마크업 언어로, 데이터 구조 설명과 데이터 의미에 중점을 두고 데이터 내용과 표시 스타일(xml+xsl)의 분리를 실현하며 플랫폼 독립적입니다.
XML은 데이터 내용 설명에 중점을 두기 때문에 데이터 검색에 매우 의미가 있습니다. 더 이상 HTML처럼 요구 사항과 관련 없는 정보를 검색하지 않습니다.
반면에 XML 파일은 데이터의 전달자입니다. XML을 데이터베이스로 사용하는 경우에는 HTML, FlashMX 등의 모든 웹 기술을 사용하여 데이터를 표시할 수 있습니다. 등.
전 세계 주요 컴퓨터 회사의 적극적인 참여로 인해 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에서 디버깅됩니다.
위 내용은 다음과 같습니다. 는 XML을 사용하여 게시판을 개발하는 간단한 예입니다. 예제 코드 분석 내용에 대한 자세한 내용은 PHP 중국어 웹사이트(www.php.cn)를 참고하세요!