999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XML和ASP技術的畢業設計選題平臺的開發

2008-12-31 00:00:00肖克曦
電腦知識與技術 2008年33期

摘要:綜合分析了應用XML技術和ASP技術,開發畢業設計選題平臺的思路和方法。介紹了XML文件結構化數據存儲的特點,利用ASP技術操作XML文件的方法,并指出了開發技術上的重點和難點。

關鍵詞:XML;ASP;畢業設計選題平臺

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)33-1396-03

Development of Platform for Graduation Project Choosing on XML and ASP Technology

XIAO Ke-xi

(Department of Educational Techonology, Tianjin Foreign Studies University, Tianjin 300204, China)

Abstract: The paper analyses the method and idea of how to develop a platform for graduation project choosing by the technology of XML and ASP.It introduces the characteristics of storing of structured data of XML file and the method of operating XML file by the ASP technology. It also points out the keystones and difficulties in developing process.

Key words: XML; ASP; platform for graduation project choosing

1 引言

每年一度的畢業設計選題工作對于高校中一些大的院系來說,有教師多、學生多、選題多的特點。因此,這些大院系所使用的選題平臺常使用數據庫作為數據管理的工具。而一些小的院系,每年畢業生的人數可能就在一百人左右,無論是在學生人數還是選題數目上,數量都不大。若像大院系那樣使用數據庫來管理這樣少量的數據,不僅前期投入和后期維護的成本較高,而且對于數據庫來說也是大材小用。XML文件是一個純文本文件,能以樹狀結構來存取結構化數據,相當于一個層次型的數據庫。因此利用它來進行小數據量的數據存儲,有投入少,維護方便,訪問速度快的特點。

2 相關技術簡介

2.1 XML(Extensible Markup Language)技術

XML是SGML(標準通用標記語言)的一個子集,其創建者旨在向信息管理人員提供更大的靈活性。[1]XML允許用戶自行定義標記,擴展性很強。根據這些自定義的標記,可以很容易的看出數據所表示的含義。這一點不同于HTML。HTML的標記是事先定義好的,用戶不能隨意修改。同時,在HTML中,除了數據外還包含了對于顯示樣式的定義。而在XML中,數據本身和顯示代碼是分開的,這樣對數據的操作就十分方便。XML還有與平臺無關性的特點,這得益于它的標準是開放的。

2.2 ASP(Acrive Server Pages)技術

ASP是微軟推出的一種動態服務器網頁技術。ASP文件在服務器端運行,它是由普通的HTML文件中嵌入VBScript或JavaScript腳本語言所構成。當客戶端向服務器端的ASP文件提出請求后,服務器端會把該文件解釋成標準的HTML文件,并發送給客戶端,因此客戶端可以不受瀏覽器類型的限制。[2]

3 系統設計

3.1 系統總體設計

本平臺采用B/S結構,學生信息和選題信息分別存放于XML文件當中。通過ASP技術編寫動態網頁去操作XML文件,實現選題信息的及時更新。

本系統的用戶分為兩類:管理員和學生。管理員能對學生信息和選題信息進行維護,同時能及時看到所有學生的選題結果。學生能夠瀏覽選題的詳細信息和進行題目的選擇。主要功能如圖1所示。

用戶登錄模塊 用戶登錄系統前,通過單選按鈕選擇自己的用戶身份(管理員或學生)。輸入正確的用戶名和密碼后,就可登入不同的界面。管理員信息和學生信息分別保存在兩個不同的XML文件當中。

管理選題模塊 所有選題及其詳細信息都被存入一個單獨的XML文件當中。管理員通過此模塊可進行選題的添加、修改和查詢等操作。

管理學生模塊 所有學生信息也在同一個XML文件當中。管理員可以通過此模塊對學生信息進行添加、修改和查詢操作。

瀏覽選題模塊 學生登錄系統后,首先就是進行選題的瀏覽,包括題目名稱、題目要求、指導教師、所需人數等。

選擇題目模塊 在每個題目的旁邊都有一個選擇按鈕。在本系統中,要求每個學生只能選一個題目。因此若該名學生沒有選過題目,則可以進行選擇。否則會給出提示信息,不能再進行選擇。還有一個設計要點是,每個題目都有最大的人數限制,若選擇此題的人數達到了最大數,則此選擇按鈕應設置為不可用。

查看結果模塊 管理員與學生用戶都有查看結果模塊,但其功能有所不同。管理員能看到所有學生的及時選題情況,比如某學生選擇的具體題目,哪些學生沒有選題等。而學生僅能看到自己選題結果的詳細信息。

3.2 XML文件設計

圖1 系統功能

本系統使用XML存取用戶和選題信息。一共有三個XML文件:admin.xml 存放管理員用戶信息;s_info.xml 存放學生用戶信息;t_info.xml 存放題目信息。它們的所使用的標記及其含義如表1、表2、表3所示。

3.3 系統開發的重點和難點

3.3.1 添加選題功能的實現

添加新題目是本平臺的一個基本功能,這實際上主要涉及到對XML文件的寫操作。在使用ASP技術對XML文件進行寫操作時,首先需要建立XML對象的實例。

Set myxml = Server.CreateObject(\"Microsoft.XMLDOM\")

然后將t_info.xml加載到內存,并獲取t_info.xml的根節點。

myxml.load(Server.MapPath(\"t_info.xml\"))

Set tRoot = myxml.selectSingleNode(\"tlist\")

接著判斷根節點之下是否有數據。若沒有,則將新數據的值設為1;若有,則將新數據的值設為最后一個的值加1。

if tRoot.childNodes.length=0 then

currNum=1

else

currNum=tRoot.childNodes.length+1

end if

最后創建子節點,并將新建節點添加到t_info.xml文件中保存。

set titleinfo=myxml.createNode(1,\"titleinfo\",\"\")

set titleid=myxml.createNode(1,\"titleid\",\"\")

set titlename=myxml.createNode(1,\"titlename\",\"\")

set content=myxml.createNode(1,\"content\",\"\")

set totalstu=myxml.createNode(1,\"totalstu\",\"\")

set hasselected=myxml.createNode(1,\"hasselected\",\"\")

titleid.text=currNum

titlename.text=trim(request.form(\"txttitle2\"))

content.text=trim(request.form(\"yaoqiu\"))

totalstu.text=trim(request(\"textfield\"))

hasselected.text=\"0\"

titleinfo.appendChild(titleid)

titleinfo.appendChild(titlename)

titleinfo.appendChild(content)

titleinfo.appendChild(totalstu)

titleinfo.appendChild(hasselected)

tRoot.appendChild(titleinfo)

myxml.Save(Server.MapPath(\"t_info.xml\"))

3.3.2 瀏覽題目功能的實現

學生在選題前要對所有題目進行瀏覽,這實際涉及到對XML文件進行讀操作的問題。應用ASP技術對XML文件進行讀操作時,首先也同樣需建立XML對象實例,并把t_info.xml文件讀入內存。

tinfoFile=Server.MapPath(\"t_info.xml\")

Set myxml = Server.CreateObject(\"Microsoft.XMLDOM\")

myxml.load(tinfoFile)

然后通過循環讀取t_info.xml中每個題目的信息,即所有子節點的信息,并通過response.write方法用表格的形式顯示出來。同時要注意,若某個題目已達到了人數的上限,則選擇按鈕是不可用的。

Set tRoot = myxml.selectSingleNode(\"tlist\")

response.write \"<table width=80%>\"

response.write \"<tr><td>題目</td><td>人數</td><td>選擇</td></tr>\"

m=1

for n=0 to tRoot.childNodes.length-1

set tNode=tRoot.childNodes.item(n)

response.write \"<tr><td>\"

response.write m\". \"

response.write \"<a href=detail.asp?id=\"trim(tNode.childNodes.item(0).text)\">\"tNode.childNodes.item(1).text\"</a>\"

response.write \"</td><td>\"

response.write tNode.childNodes.item(4).text\"/\"tNode.childNodes.item(3).text\"人\"

response.write \"</td><td>\"

if tNode.childNodes.item(4).text<tNode.childNodes.item(3).text then

response.write \"<a href=stuselect.asp?tid=\"tNode.childNodes.item(0).text\"><img src='sbutton.JPG' width='38' height='22'border='0'></a>\"

else

response.write \"人數已滿\"

end if

response.write \"</td></tr>\"

m=m+1

next

3.3.3 學生選題功能的實現

學生選題是本平臺的核心功能。在實現本功能時,既要記錄下每個學生選擇題目的信息,又要限制學生不能重復選題。這實際上同時涉及到了對XML文件的讀和寫的操作,而且要同時操作s_info.xml和t_info.xml文件。其主要代碼如下:

tid=request.QueryString(\"tid\")

Set myxml = Server.CreateObject(\"Microsoft.XMLDOM\")

myxml.load(Server.MapPath(\"t_info.xml\"))

Set tRoot = myxml.selectSingleNode(\"tlist\")

for n=0 to tRoot.childNodes.length-1

set tNode=tRoot.childNodes.item(n)

if tNode.childNodes.item(0).text=tid then exit for

next

if tNode.childNodes.item(3).text=<tNode.childNodes.item(4).text then

response.write \"此題人數達上限,不能再選擇!\"

else

Set myxml2 = Server.CreateObject(\"Microsoft.XMLDOM\")

myxml2.load(Server.MapPath(\"s_info.xml\"))

Set sRoot = myxml2.selectSingleNode(\"stulist\")

for n=0 to sRoot.childNodes.length-1

set sNode=sRoot.childNodes.item(n)

if sNode.childNodes.item(0).text=session(\"stunum\") then exit for

next

if sNode.childNodes.item(3).text=0 then

sNode.childNodes.item(3).text=tid

myxml2.Save(Server.MapPath(\"s_info.xml\"))

tNode.childNodes.item(4).text=tNode.childNodes.item(4).text+1

myxml.Save(Server.MapPath(\"t_info.xml\"))

response.write \"成功選擇!\"

else

response.write \"你已選過課題,不能再選。\"

end if

end if

3.3.4 管理員查看結果功能的實現

管理員查看并統計選題的結果,是開發本平臺的最終目的,此結果將會直接傳達給各指導老師,以備進行正式的指導工作。此功能涉及到對s_info.xml和t_info.xml文件進行讀操作,同時進行分析比較,列出題目和學生的對應關系。其主要代碼如下:

tinfoFile=Server.MapPath(\"t_info.xml\")

Set myxml = Server.CreateObject(\"Microsoft.XMLDOM\")

myxml.load(tinfoFile)

Set tRoot = myxml.selectSingleNode(\"tlist\")

response.write \"<table width=90%>\"

response.write \"<tr><td>題目</td><td>人數</td><td>學生</td></tr>\"

for n=0 to tRoot.childNodes.length-1

set tNode=tRoot.childNodes.item(n)

response.write \"<tr><td>\"

response.write tNode.childNodes.item(1).text

response.write \"</td><td>\"

response.write tNode.childNodes.item(4).text\"/\"tNode.childNodes.item(3).text\"人\"

response.write \"</td><td>\"

sinfoFile=Server.MapPath(\"s_info.xml\")

Set myxml2 = Server.CreateObject(\"Microsoft.XMLDOM\")

myxml2.load(sinfoFile)

Set sRoot = myxml2.selectSingleNode(\"stulist\")

for k=0 to sRoot.childNodes.length-1

set sNode=sRoot.childNodes.item(k)

if sNode.childNodes.item(3).text=tNode.childNodes.item(0).text then

response.write sNode.childNodes.item(1).text

end if

next

response.write \"</td></tr>\"

next

response.write \"<table>\"

4 結束語

XML是Web上表示結構化信息的一種標準文本格式。[3]XML的發展在不斷完善,其在數據交換上的優勢也越來越明顯。本畢業設計選題平臺使用XML進行小數量的數據存儲,同時使用已經非常成熟和易用的ASP技術對其進行操作,其優點在于不僅能夠較快速的進行軟件的開發,實現所要求的功能,而且維護成本也相對較低。

參考文獻:

[1] 唐澤圣. 新概念電腦教程(提高版)[M].北京:電子工業出版社,2001.

[2] 尚俊杰. 網絡程序設計基礎[M].北京:清華大學出版社,2003.

[3] Morrison M. XML揭秘——入門·應用·精通[M]. 陸新年, 陸新宇,譯. 北京:清華大學出版社,2001.

主站蜘蛛池模板: 国内精品九九久久久精品| 永久免费无码成人网站| 一区二区三区精品视频在线观看| 亚洲制服中文字幕一区二区| 国产午夜福利片在线观看| 亚洲啪啪网| 国产欧美日韩精品综合在线| 中文字幕在线看| 男人天堂亚洲天堂| 亚洲欧美综合另类图片小说区| 中文字幕亚洲另类天堂| 波多野结衣一区二区三区四区视频| 永久免费精品视频| 色婷婷成人| 中文字幕 欧美日韩| 97精品伊人久久大香线蕉| 午夜激情福利视频| 69国产精品视频免费| 色135综合网| 国产精品亚洲欧美日韩久久| 波多野吉衣一区二区三区av| 男女精品视频| 亚洲色图欧美视频| 亚洲二三区| 网友自拍视频精品区| 一级高清毛片免费a级高清毛片| 国产美女91视频| 久久青草精品一区二区三区| 亚洲日本中文综合在线| 国产成人精品亚洲77美色| 亚洲天堂在线免费| 国产毛片基地| 久久综合一个色综合网| 日本欧美一二三区色视频| 国产麻豆aⅴ精品无码| 色婷婷亚洲十月十月色天| 国产在线观看一区精品| 精品亚洲麻豆1区2区3区| 亚洲国产精品一区二区高清无码久久| 色婷婷成人网| 综合色在线| 97视频免费在线观看| 91麻豆国产在线| 亚洲午夜福利精品无码不卡| 日韩 欧美 小说 综合网 另类| 国产一级毛片网站| 欧美一级在线| 国产真实乱了在线播放| 久久鸭综合久久国产| 波多野结衣久久精品| 性色在线视频精品| 67194在线午夜亚洲| 在线色国产| 91系列在线观看| 久久黄色小视频| 日韩视频福利| 国产性精品| 色国产视频| 欧美精品不卡| 日本久久网站| 欧美国产日韩在线播放| 99视频全部免费| 国产经典在线观看一区| 999国内精品久久免费视频| 亚洲欧美另类色图| 日韩欧美高清视频| 免费在线看黄网址| 在线视频97| 一区二区三区精品视频在线观看| 国产精品爆乳99久久| 免费高清自慰一区二区三区| 中文字幕亚洲第一| 国产麻豆精品在线观看| 国产精品极品美女自在线| 中文字幕无线码一区| 中文字幕在线播放不卡| 第一区免费在线观看| 99久久精品国产麻豆婷婷| 日韩精品无码免费专网站| 欧美三级视频网站| 五月婷婷综合色| 精品一区二区三区视频免费观看|