论文部分内容阅读
摘要:综合分析了应用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
关键词: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")
接着判断根节点之下是否有数据。若没有,则将新数据的
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