• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種基于C#中將Word試題導(dǎo)入數(shù)據(jù)庫的實(shí)現(xiàn)方法

      2017-04-18 16:05:37周虎
      電腦知識與技術(shù) 2016年35期
      關(guān)鍵詞:試題庫

      周虎

      摘要:隨著在線考試系統(tǒng)的不斷發(fā)展,試題庫建設(shè)問題也逐漸顯露出來,如何讓用戶方便,快捷的錄入試題,并能夠保留試卷原有的格式,尤其是包含圖片和公式的試卷,一直是開發(fā)者著力解決的主要問題。本文通過利用Word文檔來組建試卷,并在Word中設(shè)置起始標(biāo)志,對Word文檔標(biāo)簽的提取和過濾,本文實(shí)現(xiàn)了基于C#中將Word文檔中的包含圖片,表格,公式的試題批量導(dǎo)入數(shù)據(jù)庫的方法,大大提高了題庫建設(shè)的效率。

      關(guān)鍵詞:在線考試系統(tǒng);試題導(dǎo)入;Word文檔;正則表達(dá)式;試題庫

      中圖分類號: TP311.11 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)35-0008-03

      Implementation Method of Word Test Question Import Database in C#

      HU Zhou

      (Jiangsu Lianhe Technical Institute Xuzhou branch of Finance, Xuzhou 221008,China)

      Abstract: With the continuous development of online examination system, construction of database also gradually revealed, how to make users convenient, quick input questions, and can keep the original paper format, especially the formula contains pictures and papers, has been a major problem for developers to solve. In this paper, through the use of the Word document to form the papers, and set the initial signs in Word, extraction and filtering of Word document, the table contains pictures, C#, Word document based on the method of test batch import database formula, greatly improves the efficiency of database construction.

      Key words: Online examination system; test paper import; Word document; regular expression; Examination question database;

      1 引言

      隨著互聯(lián)網(wǎng)的迅速發(fā)展,基于網(wǎng)絡(luò)的在線考試系統(tǒng)逐步發(fā)展起來,大大提高了考試的效率[1],但是對于題庫的建設(shè)一直是在線考試系統(tǒng)中的關(guān)鍵問題[2]。題庫建設(shè)的起步階段,大部分是靠在線手工逐題錄入的方式,采用這種方式錄入試題速度較慢,操作起來比較繁瑣,并且大部分只能提供純文字版試題。伴隨著信息技術(shù)的發(fā)展,使用Excel導(dǎo)入題庫的方式逐步出現(xiàn),采用這種方式,用戶可以提前把試題在Excel中整理好,最后通過文件上傳的方式將Excel中的試題導(dǎo)入到數(shù)據(jù)庫中[3],采用這種方式較在線錄入試題方式有了很大的進(jìn)步,但是對于包含圖片、公式、表格的試題,Excel試題導(dǎo)入的方式就無能為力了。針對Word文檔本身可以包含圖片、公式、表格等特殊對象的特點(diǎn),本文通過在Word中設(shè)置起始標(biāo)志,然后提取Word文檔中的有效標(biāo)簽和圖片對象,實(shí)現(xiàn)了將Word文檔中的包含圖片、表格、公式等特殊對象的題目導(dǎo)入數(shù)據(jù)庫的方法。

      2 Word試題導(dǎo)入數(shù)據(jù)庫方法簡介

      Word已經(jīng)成為大部分用戶經(jīng)常使用的文檔編輯工具[4],在Word中編輯試題也是目前所有試題編輯器中的最佳選擇,因?yàn)樵赪ord中可以添加圖片、表格、公式等多種對象,同時(shí)Word操作起來簡單并且方便快捷。

      針對Word文檔在進(jìn)行復(fù)制操作時(shí)特點(diǎn),首先需要對導(dǎo)入數(shù)據(jù)庫的Word文檔執(zhí)行全選和復(fù)制操作,它會將文檔中的公式轉(zhuǎn)換為圖片對象,并且將所有的圖片對象復(fù)制到當(dāng)前用戶下面的“AppData/Local/Temp/”目錄下面,根據(jù)Word文檔標(biāo)簽中圖片的名稱和路徑,將圖片從臨時(shí)文件夾下復(fù)制到當(dāng)前指定目錄下面,然后將Word文檔標(biāo)簽中原圖片的絕對路徑地址替換成網(wǎng)站中圖片的相對路徑中,并將Word標(biāo)簽中多余無關(guān)的標(biāo)簽使用調(diào)用Web在線編輯器中處理Word的文檔標(biāo)簽的JS函數(shù)進(jìn)行過濾提取,然后根據(jù)指定的起始標(biāo)志,進(jìn)行正則匹配,并分離題目的類型、題干、答案、章節(jié)和難度系數(shù)等屬性,分離成功后將題目封裝到題目對象集合中去,最后統(tǒng)一保存到數(shù)據(jù)庫,并上傳分離圖片即可完成整個(gè)Word文檔導(dǎo)入數(shù)據(jù)庫的功能,最終在顯示題目時(shí)將圖片和文字以HTML方式顯示。具體步驟如圖1所示。

      程序3 實(shí)現(xiàn)Word文檔中圖片復(fù)制操作并替換圖片路徑

      3.3 分離題目到題目對象集合

      當(dāng)Word文檔中圖片處理完成后,根據(jù)Word標(biāo)簽中指定的起始標(biāo)識再次使用正則表達(dá)式進(jìn)行匹配,如程序4所示。

      public static MatchCollection GetValue(string str, string s, string e)

      {

      Regex rg = new Regex("(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))", RegexOptions.Multiline | RegexOptions.Singleline);//根據(jù)開始和結(jié)束字符進(jìn)行匹配

      return rg.Matches(str);

      }

      程序4 根據(jù)指定起始字符串進(jìn)行正則匹配

      根據(jù)指定的起始標(biāo)志【開始】和【結(jié)束】,到Word文檔標(biāo)簽中進(jìn)行匹配遍歷,同時(shí)將題目信息分離到題目對象集合中去,最后直接將集合中的題目對象添加到數(shù)據(jù)庫中去,具體實(shí)現(xiàn)如程序5所示。

      MatchCollection ls=GetValue(htm,"【開始】","【結(jié)束】");//獲取指定標(biāo)識集合

      int x = 0;

      List lst = new List();//存放題目對象集合

      foreach(Match m in ls )

      {

      string str1 = m.Value;

      if (!TagsChecker.check(str1))

      str1= TagsChecker.fix(str1);//修補(bǔ)HTML標(biāo)簽,

      str1 = str1.Replace("", "");///去掉空行

      lst.Add(getTopic(str1));//添加題目對象

      x++;

      3.4上傳分離圖片到服務(wù)器

      當(dāng)Word試題已經(jīng)保存到數(shù)據(jù)庫后,需要將從Word文檔中分離出來的圖片上傳到服務(wù)器端網(wǎng)站的相對路徑中去。在上傳圖片時(shí)采用了WebClient.UploadData()方法,具體實(shí)現(xiàn)如程序6所示。

      WebClient myWebClient = new WebClient();

      myWebClient.Headers.Add("Content-Type","application/x-www-form-urlencoded");

      myWebClient.QueryString["directory"] = directory;//文件夾

      myWebClient.QueryString["extension"] = extension;//擴(kuò)展名

      byte[] responseArray = myWebClient.UploadData(url, "POST", data);//提交數(shù)據(jù)

      程序6 Word文檔圖片上傳

      4 總結(jié)

      題庫建設(shè)是建立現(xiàn)代考試系統(tǒng)的首要問題,本文針對題庫建設(shè)中使用Word文檔方式將包含圖片、表格和公式等復(fù)雜對象的試題導(dǎo)入到數(shù)據(jù)庫中,在考試過程中盡可能地保留了原有的Word文檔格式,通過對Word文檔的轉(zhuǎn)換,數(shù)據(jù)的提取和保存操作,實(shí)現(xiàn)了將Word試題批量導(dǎo)入數(shù)據(jù)庫的方法,一方面方便了用戶的操作,同時(shí)擴(kuò)展了試卷題目的多樣化。

      參考文獻(xiàn):

      [1] 黃芳,王曉霞.談高職院校課程考試中的題庫建設(shè)[J]. 山東省農(nóng)業(yè)管理干部學(xué)院學(xué)報(bào),2012(29):3.

      [2] 李光明,關(guān)丹丹.關(guān)于題庫建設(shè)若干問題的思考[J].中國考試,2014(9):5.

      [3]董園. 在線考試系統(tǒng)中的題庫建設(shè)相關(guān)技術(shù)的研究[J].電子世界,2015(6):112-115.

      [4]馮立,張景韶,周利平.基于B/S模式下的網(wǎng)絡(luò)題庫臺研究與實(shí)踐[J].重慶師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,29(4):77-81.

      [5]吳金彪. C#正則表達(dá)式匹配HTML中的圖片路徑[EB/OL].[2012-02-09].

      [6]李永華.網(wǎng)絡(luò)化考試的題庫建設(shè)及應(yīng)用研究[J].高教論壇,2013(10).

      [7]鄧永海.ASP_NET中將Word試卷逐題導(dǎo)入數(shù)據(jù)庫的實(shí)現(xiàn)方法[J].計(jì)算機(jī)與現(xiàn)代化,2010(12).

      [8] 蔡曉云.基于知識的在線考試系統(tǒng)題庫設(shè)計(jì)[J].計(jì)算機(jī)與現(xiàn)代化,2011(8):197.

      猜你喜歡
      試題庫
      石油煉制技術(shù)課程試題庫建設(shè)的探討
      化工管理(2020年26期)2020-01-17 13:35:04
      職業(yè)院校旅游專業(yè)試題庫建設(shè)的實(shí)踐與反思
      ——以導(dǎo)游資格筆試科目為例
      長江叢刊(2018年32期)2018-11-14 17:42:42
      C語言考試題庫在教學(xué)中的重要性研究
      高校試題庫建設(shè)新探討
      高校試題庫建設(shè)方案探索
      小議法學(xué)專業(yè)刑法學(xué)試題庫建設(shè)
      項(xiàng)目反應(yīng)理論在考試系統(tǒng)試題庫中的應(yīng)用
      基于網(wǎng)絡(luò)的試題庫系統(tǒng)建設(shè)研究
      基于Quiz Creator的“機(jī)械圖樣的繪制與識讀”隨機(jī)組卷試題庫的制作與研究
      基于校園網(wǎng)的電磁學(xué)試題庫建設(shè)
      汽车| 蚌埠市| 肇庆市| 保靖县| 双柏县| 湛江市| 米易县| 苍山县| 高尔夫| 报价| 怀远县| 乐平市| 英吉沙县| 壶关县| 来宾市| 城固县| 明光市| 秦安县| 友谊县| 奉化市| 外汇| 聊城市| 娄底市| 石台县| 樟树市| 买车| 安远县| 榆中县| 浙江省| 墨脱县| 楚雄市| 嵊州市| 马山县| 揭阳市| 开原市| 房山区| 威海市| 浦县| 射洪县| 海林市| 大姚县|