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

基于XML的網(wǎng)絡(luò)考試系統(tǒng)的研究

2007-12-31 00:00:00
現(xiàn)代教育技術(shù) 2007年10期

【摘要】XML以其自身的簡單性、可擴展性和標準化性等特點,將在遠程網(wǎng)絡(luò)教育中發(fā)揮重大的作用。本文討論了應(yīng)用XML文檔作為網(wǎng)絡(luò)考試中數(shù)據(jù)存儲方式的實現(xiàn),以及如何處理對試卷XML文檔中節(jié)點數(shù)據(jù)存取和網(wǎng)絡(luò)考試中意外斷線后考生答案恢復(fù)。

【關(guān)鍵詞】XML;網(wǎng)絡(luò)考試;答案恢復(fù)

【中圖分類號】G434【文獻標識碼】B 【論文編號】1009—8097 (2007) 10—0064—03

隨著遠程網(wǎng)絡(luò)教育的發(fā)展,網(wǎng)絡(luò)考試成了困擾遠程教育的難題。在WEB上建立一套支持大規(guī)模在線考試的管理工具是很有必要的。XML在許多方面有著很大優(yōu)勢,利用它作為網(wǎng)絡(luò)考試數(shù)據(jù)的存儲方式,利用DOM接口可以方便地去訪問這些數(shù)據(jù)。運用這些技術(shù),能夠較好地完成網(wǎng)絡(luò)考試試卷的表示和作答,并可實現(xiàn)突然斷線后考生答案的恢復(fù)。

一 XML功能特點

可擴展置標語言XML(Extensible Markup Language)是一種非常簡單、靈活的文本格式, 它是HTML的補充,為HTML擴展更多功能,其功能特點為:

1)XML允許各個不同的行業(yè)根據(jù)自己獨特的需要制定自己的標記,而且這些標記不必僅限于對于顯示格式的描述。

2)在XML中,顯示樣式從數(shù)據(jù)信息中抽取出來,放在樣式單文件中,數(shù)據(jù)和顯示樣式分離。

3)XML遵循嚴格的語法要求。不但要求標記配對、嵌套,而且還要求嚴格遵守DTD或SCHEMA的規(guī)定。

4)XML可以在不同的操作系統(tǒng),不同的數(shù)據(jù)庫系統(tǒng)之間作為交流媒介,方便網(wǎng)絡(luò)客戶在不同的數(shù)據(jù)源之間傳遞信息。

5)使用XML可以把數(shù)據(jù)處理的任務(wù)交給了客戶, 而服務(wù)器只需將數(shù)據(jù)封裝成XML文檔,傳送給客戶端即可,這樣大大減輕了服務(wù)器端的負荷,便于將大量運算負荷分布在客戶端。

6)使用XML,可以把XML文檔拆分成為多個文件,便于對信息進行編輯、裁減以適應(yīng)不同用戶的需要。

二 試卷的XML表示和處理方法

1 試卷結(jié)構(gòu)的XML表示

把網(wǎng)絡(luò)考試中可能涉及的考題類型按照答題方式的不同進行分類、總結(jié),把它歸結(jié)為8個模板。例如單項選擇題和判斷題都是從幾個或?qū)﹀e兩個選項中選擇一個合適的答案,因而這些題型可采用相同的答題方式,從而使用相同的模板,所以有些不同的題型我們采用了相同的模板。圖1是一份包含涉及的各種題型的測試所使用試卷paper.xml在XML SPY V5.0中的顯示圖。在此XML文檔中,考卷涉及的各種數(shù)據(jù)被保存在自定義的標簽中。

<!ELEMENT 大題 ( 小題+ ) >

<!ATTLIST 大題 模板 CDATA #REQUIRED >

<!ATTLIST 大題 序號 CDATA #REQUIRED >

試卷XML的文檔paper.xml類型定義(DTD)如下:

<!—paper.dtd-->

<?xml version=\"1.0\" encoding=\"GB2312\" ?>

<!-- edited with XML SPY V5.0(http://www.xmlspy.com)-->

<!ELEMENT 試卷 ( 試卷組成 ) >

<!ELEMENT 試卷組成 ( 大題+ ) >

<!ATTLIST 大題 標題 CDATA #REQUIRED >

<!ELEMENT 小題 ( 題干, (諸選項 | 空數(shù) | 子題)* ) >

<!ATTLIST 小題 模板 CDATA #REQUIRED >

<!ATTLIST 小題 序號 CDATA #REQUIRED >

<!ELEMENT 題干 ( #PCDATA ) >

<!ELEMENT 諸選項 ( 選項+ ) >

<!ELEMENT 選項 ( #PCDATA ) >

<!ATTLIST 選項 序號 CDATA #REQUIRED >

<!ELEMENT 空數(shù) ( #PCDATA ) >

<!ATTLIST 空數(shù) 長度 NMTOKEN #REQUIRED >

<!ELEMENT 子題 ( 題干?,諸選項) >

<!ATTLIST 子題 序號 CDATA #REQUIRED >

2 試卷中多媒體和數(shù)學公式的處理

試卷中對多媒體的處理是把其數(shù)據(jù)表示方式存儲到標簽中。是XML中比較特殊的標簽,瀏覽器或應(yīng)用軟件會把該標簽段落中的數(shù)據(jù)看成是純文字,而不會加上任何分析和處理,因此段落可以包含特殊符號。

例如XML文檔中對圖片的存儲方式是記錄鏈接的圖片文件名,圖片存放到某個指定的目錄中,形式如下所示:?> 。

<![CDATA[

<m:math><m:mrow><m:msqrt>

<m:mrow><m:msup><m:mrow>

<m:mo stretchy='1'>

(</m:mo><m:mi>a</m:mi><m:mi>b</m:mi><m:mostretchy='1'>)

</m:mo></m:mrow><m:mn>2</m:mn></m:msup><m:mo>+</m:mo><m:msup>

<m:mi>b</m:mi>

<m:mn>2</m:mn>

</m:msup></m:mrow></m:msqrt></m:mrow></m:math>

]]>

三 XML文檔的解析

1 XML文檔的解析方法

目前,解決XML瀏覽問題的方法有兩種,一種是在傳遞XML文件之前先將它轉(zhuǎn)換為一個HTML文件,然后再傳輸這個轉(zhuǎn)換后的文件;另一種是直接傳遞XML文件,顯示時在線進行轉(zhuǎn)換。

XML文檔實質(zhì)上是一個文本文件,因此在需要訪問文檔中的內(nèi)容時,必須首先書寫一個能夠識別XML文檔信息的文本文件閱讀器,也就是通常所說的XML語法分析器,由它來幫助解釋XML文檔并提取其中的內(nèi)容。應(yīng)用程序不直接對XML文檔進行操作,而是首先由XML分析器對XML文檔進行分析,然后,應(yīng)用程序通過XML分析器所提供的DOM API或SAX API對分析結(jié)果進行操作,從而間接實現(xiàn)了對XML文檔的訪問。因為處理的XML文檔并不是一個大型的文檔,所以采用DOM API對XML文檔進行分析。

DOM API提供了一種通過分層對象模型來訪問XML文檔信息的方式,這些分層對象模型依據(jù)XML的文檔結(jié)構(gòu)形成了一棵節(jié)點樹。無論XML文檔中所描述的是什么類型的信息,即便是制表數(shù)據(jù)、項目列表或一個文檔,利用DOM所生成的模型都是節(jié)點樹的形式。也就是說,DOM強制使用樹模型來訪問XML文檔中的信息。由于XML本質(zhì)上就是一種分層結(jié)構(gòu),所以這種描述方法是相當有效的。

2 DOM API在考試系統(tǒng)中的應(yīng)用

下面采用一個考生答案的XML文檔answer.xml來說明DOM樹。XML文檔如下:

<!—answer.xml-->

<?xml version=\"1.0\" encoding=\"gb2312\" ?>

<考生答案>

<答案 序號=\"1\">

<題號>1_1</題號>

<內(nèi)容><![CDATA[A]]></內(nèi)容>

</答案>

<答案 序號=\"2\">

<題號>3_4_1</題號>

<內(nèi)容>

<![CDATA[Test “Test”]]>

</內(nèi)容>

</答案>

</考生答案>

DOM在內(nèi)存中構(gòu)建如圖2所示的DOM樹。

XML 文檔的通過DOM解析利用JAXP包,Jaxp支持W3C所推薦的DOM 2,DOM。通過下面的方法,可以得到方法DOM樹的document。

首先建立一個解析器產(chǎn)生器DocumentBuilderFactory,以利用這個產(chǎn)生器來獲得一個具體的解析器對象。為了創(chuàng)建與具體解析器無關(guān)的程序,當DocumentBuilderFactory類的靜態(tài)方法newInstance()被調(diào)用時,它根據(jù)一個系統(tǒng)變量來決定具體使用哪一個解析器。又因為所有的解析器都服從于JAXP所定義的接口,所以無論具體使用哪一個解析器,代碼都是一樣的。所以當在不同的解析器之間進行切換時,只需要更改系統(tǒng)變量的值,而不用更改任何代碼。當獲得一個產(chǎn)生器對象后,使用它的靜態(tài)方法newDocumentBuilder()方法可以獲得一個DocumentBuilder對象,這個對象代表了具體的DOM解析器。DocumentBuilder的parse()方法接受一個XML文檔名作為輸入?yún)?shù),返回一個Document對象,這個Document對象就代表了一個XML文檔的樹模型。以后所有的對XML文檔的操作,都與解析器無關(guān),直接在這個Document對象上進行操作。

DocumentBuilderFactory dbf =

DocumentBuilderFactory.newInstance();

DocumentBuilder db = dbf.newDocumentBuilder();

db = dbf.newDocumentBuilder();

document = db.parse(new File(filename));

得到doucment接口對象后,根據(jù)圖各節(jié)點的關(guān)系,我們可以方便地訪問到各個節(jié)點的數(shù)據(jù)。

四 斷線恢復(fù)的實現(xiàn)

網(wǎng)絡(luò)考試非常嚴謹?shù)沫h(huán)節(jié),當意外情況發(fā)生,比如網(wǎng)絡(luò)中斷或者機器發(fā)生故障,學生退出當前考試狀態(tài)后,再次登錄參加考試時,考試系統(tǒng)應(yīng)該為學生保留已經(jīng)完成的答案數(shù)據(jù),并把它們重新調(diào)用并和考卷組織起來,這樣考生就可以繼續(xù)進行考試。因此,考試系統(tǒng)必須實現(xiàn)答案恢復(fù)功能。

實現(xiàn)考試答案恢復(fù)的關(guān)鍵技術(shù)是利用XML文檔保存的試卷數(shù)據(jù)和答案數(shù)據(jù)的考試進行斷線后的答案恢復(fù)的方案。

網(wǎng)絡(luò)考試系統(tǒng)中,考點所使用的考卷,學生的答案都是采用XML文檔格式保存的,試卷文檔如圖1paper.xml所示,答案結(jié)構(gòu)如answer.xml所示。學生登錄進行考試時,程序給每個學生生成一個ID,通過DOM API把paper.xml中的節(jié)點數(shù)據(jù)讀出來,然后根據(jù)題號(題號組成方法:大題序號_小題序號_子題序號)到answer.xml中尋找是否有此道題的答案存在,如果存在則用同樣的方法讀出該節(jié)點數(shù)據(jù),不存在就返回空字符。然后我們把兩者數(shù)據(jù)結(jié)合一起使用Java程序?qū)憺橐粋€JSP文檔,形成JSP文檔的過程在Java程序中的處理相當于一個字符串讀寫的過程,處理過程比較簡單。JSP文檔中一起寫入的還有JavaScript腳本,JvaScript腳本以純文本方式存在并通過Java程序添加到JSP文檔的最后,這樣就形成完整的一份能用于考試的試卷。學生使用鍵盤或鼠標進行答題時,光標失去焦點JavaScript腳本就觸發(fā)遞交當前答案,Java程序把遞交的字符串寫入到answer.xml文件中,字符串按XML序列流方式寫入。下面是一個具體的把XML文檔寫入到服務(wù)器硬盤進行保存的實現(xiàn)方法。

OutputFormat format = new OutputFormat();

format.setEncoding(\"GB2312\"); //設(shè)置Encoding

//把內(nèi)存中XML文檔寫入到硬盤,flag標志為true時追加寫入,1時清空重寫

public void writeXml(Document document,String filename)

{

try

{

FileWriter writer = new FileWriter(filename,flag);

XMLSerializer serializer = new XMLSerializer(writer, format);

serializer.serialize(document);

writer.flush();

writer.close();

}catch(IOException e)

{System.out.print(\"Error: \" + e);}

}

五 結(jié)論

應(yīng)用XML文檔可以實現(xiàn)網(wǎng)絡(luò)考試中數(shù)據(jù)的存儲,并能夠處理試卷規(guī)范XML文檔節(jié)點數(shù)據(jù)的存儲,也能夠解決網(wǎng)絡(luò)考試中意外斷線后考生答案的恢復(fù)問題。

參考文獻

[1]Brian E#8226;Travis.XML and SOAP Programming for BizTalk Servers[M]. EI翻譯組譯.北京:機械工業(yè)出版社,2001.

[2]]Bruce Eckel.Thinking in JAVA[M] .京京工作室譯.北京:機械工業(yè)出版社,1999.

[3]Chuck White,Liam Quin,Linda Burman.XML從入門到精通[M].周生炳等譯.北京:電子工業(yè)出版社,2002.

[4]XML中國論壇[EB/OL].www.xml.net.cn

[5]飛思科技產(chǎn)品研發(fā)中心.Java Web服務(wù)應(yīng)用開發(fā)詳解[M] .北京:電子工業(yè)出版社,2002.

Besearch on the Network Examination Based on XML

FU yu

(Henan Institute of science and Technology , Xinxang , Henan 453003)

Abstract: XML technology is more popular nowadays. Owing to its many advantages including simplify, extensibility and standardization, XML will exert a profound effect in the network education. This paper discusses the application of XML document as a mean to implement the mode of data storing, how to deal with loading and saving of the node data of XML document and how to resume the students’ answers when the network breaks suddenly.

Key Words: XML; Network Examination; Answer Resume

主站蜘蛛池模板: 国产精品第| 亚洲人成网7777777国产| 中文国产成人久久精品小说| 欧美日韩国产在线观看一区二区三区 | 久久狠狠色噜噜狠狠狠狠97视色 | 日韩高清一区 | jijzzizz老师出水喷水喷出| 黄片一区二区三区| 国产成人在线小视频| 一级做a爰片久久免费| 国产91全国探花系列在线播放| 特级欧美视频aaaaaa| 国产美女自慰在线观看| 欧美一区精品| 欧美一级黄色影院| 亚洲色精品国产一区二区三区| 久草视频福利在线观看 | 日本三级黄在线观看| 一级一毛片a级毛片| 蜜桃视频一区| 国产18在线播放| 国产91无码福利在线| 呦女精品网站| 久久香蕉国产线看精品| 久草美女视频| 丰满少妇αⅴ无码区| 午夜欧美在线| 国产精品林美惠子在线观看| 亚洲日本一本dvd高清| 国产精品女主播| 亚洲欧美一区二区三区蜜芽| 在线观看免费黄色网址| 在线播放国产99re| 人人妻人人澡人人爽欧美一区 | 亚洲第一网站男人都懂| 亚洲 成人国产| 国产久操视频| 亚洲精品自拍区在线观看| 精品人妻一区无码视频| 欧美日韩另类在线| 久久综合色天堂av| www亚洲精品| 亚洲人成网站观看在线观看| 日本影院一区| 日韩国产亚洲一区二区在线观看| 四虎影视无码永久免费观看| 小13箩利洗澡无码视频免费网站| 中文字幕免费播放| 成年A级毛片| 夜精品a一区二区三区| 欧美在线综合视频| 日韩欧美在线观看| 四虎影视国产精品| 国产Av无码精品色午夜| 国产精品视屏| 国产尤物在线播放| 日本a∨在线观看| 中国一级毛片免费观看| 茄子视频毛片免费观看| 尤物在线观看乱码| 免费A∨中文乱码专区| 婷婷综合缴情亚洲五月伊| 噜噜噜综合亚洲| 99热这里只有精品免费国产| 亚洲色图欧美视频| 四虎AV麻豆| 国产欧美日本在线观看| 亚洲日产2021三区在线| 91在线播放免费不卡无毒| 亚洲av色吊丝无码| 二级特黄绝大片免费视频大片| 奇米影视狠狠精品7777| 日韩性网站| 狠狠躁天天躁夜夜躁婷婷| 91小视频版在线观看www| 国产91视频免费观看| 91精品国产自产91精品资源| 免费一看一级毛片| 国产成人狂喷潮在线观看2345| 亚洲中文字幕精品| 熟女视频91| 亚洲综合在线网|