freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于xml數(shù)據(jù)存儲--畢業(yè)設(shè)計(jì)-資料下載頁

2024-11-23 16:36本頁面

【導(dǎo)讀】設(shè)計(jì)和網(wǎng)絡(luò)傳輸中不可或缺的角色。如何將多樣化的數(shù)據(jù)轉(zhuǎn)化為同一格式進(jìn)行傳輸。本文著重探討了基于XML方法的數(shù)據(jù)轉(zhuǎn)儲問題。論文闡述了課題的研究背景及。本文的主要設(shè)計(jì)內(nèi)容,介紹了數(shù)據(jù)轉(zhuǎn)儲的基本知識,基于XML數(shù)據(jù)轉(zhuǎn)儲的實(shí)現(xiàn)方法,制作過程,并將所做轉(zhuǎn)換程序制成DLL,方便調(diào)用。在應(yīng)用程序中還對將來可能擴(kuò)。展的功能預(yù)留了模塊和接口,以便將來擴(kuò)充。

  

【正文】 yResolver ErrorHandler Locator Parser 基于 XML 數(shù)據(jù)轉(zhuǎn)儲方法的設(shè)計(jì)與研究 第三章 XML 解析器 15 (1) 可以解析任意大小的文件。因?yàn)椋?SAX 不需要把整個(gè)文檔加載到內(nèi)存,所以對內(nèi)存的占用比 DOM 小的多。 (2) 適合創(chuàng)建自己的數(shù)據(jù)結(jié)構(gòu)??梢栽谑录l(fā)生的時(shí)候保存和組織需要的數(shù)據(jù)。 (3) 適合小量信息子集 。如果僅對某幾個(gè)數(shù)據(jù)感興趣,那么把需要的少量數(shù)據(jù)和其它數(shù)據(jù)全部讀入內(nèi)存是非常低效和不必要的。 SAX 可以非常容易地忽略不感興趣的數(shù)據(jù)。 (4) 簡單、高效。 本章小結(jié) 探討了解析器的概念, SAX 解析器及 DOM 解析器之后,提出了該課題的設(shè)計(jì):基于 XML 方法的數(shù)據(jù)轉(zhuǎn)儲技術(shù)。 基于 XML 方法的數(shù)據(jù)轉(zhuǎn)儲技術(shù)是實(shí)現(xiàn)從 XML 文檔中提取并轉(zhuǎn)存數(shù)據(jù)的技術(shù),利用這個(gè)技術(shù)可以有效地從 XML 文檔中解析出相關(guān)數(shù)據(jù),也可以將數(shù)據(jù)轉(zhuǎn)儲為符合DTD 的 XML 文檔。根據(jù)課題的要求,設(shè)計(jì)的方案主要分為兩大塊:將基本數(shù)據(jù)類型的數(shù)據(jù) 進(jìn)行解析,并顯示出來;自定義 DTD,將符合此 DTD 的數(shù)據(jù)轉(zhuǎn)換為 XML文檔并顯示、存為后綴名為 .XML 的文件。 基于 XML 數(shù)據(jù)轉(zhuǎn)儲方法的設(shè)計(jì)與研究 第四章 基于 DOM 的總體設(shè)計(jì) 16 第四章 系統(tǒng) 的總體設(shè)計(jì) 應(yīng)用程序總體設(shè)計(jì)框架 基于 XML 方法的數(shù)據(jù)轉(zhuǎn)儲技術(shù)是實(shí)現(xiàn)從 XML 文檔中提取并轉(zhuǎn)存數(shù)據(jù)的技術(shù),利用這個(gè)技術(shù)可以有效地從 XML 文檔中解析出相關(guān)數(shù)據(jù),也可以將數(shù)據(jù)轉(zhuǎn)儲為符合DTD 的 XML 文檔。根據(jù)畢業(yè)設(shè)計(jì)的要求,本文實(shí)現(xiàn)的功能簡單描述為:將基本數(shù)據(jù)類型的數(shù)據(jù)解析,并顯示出來;自定義 DTD,將符合此 DTD 的數(shù)據(jù)轉(zhuǎn)換為 XML文檔并顯示、存為后綴名為 .XML 的文件 。 根據(jù)設(shè)計(jì)任 務(wù)書的要求和考慮到實(shí)際應(yīng)用的需求,本應(yīng)用程序應(yīng)該實(shí)現(xiàn)以下詳細(xì)功能:打開、保存 XML 文檔和相應(yīng)的 DTD 文檔;將 XML 文檔中的符合 DTD 的數(shù)據(jù)解析出來;將解析出來的數(shù)據(jù)顯示;允許用戶自定義合法的 DTD 和輸入數(shù)據(jù);應(yīng)用程序?qū)⒏鶕?jù)此 DTD 生成保存該輸入數(shù)據(jù)的標(biāo)準(zhǔn) XML 文檔;輸入 SQL 語句對關(guān)系數(shù)據(jù)庫進(jìn)行保存、查詢、更新、刪除等基本操作 (可選功能 );當(dāng)系統(tǒng)產(chǎn)生異常情況時(shí),發(fā)出警告并終止系統(tǒng)運(yùn)行。 在明確了基本功能和性能要求之后,下面將進(jìn)行應(yīng)用程序的界面設(shè)計(jì),在設(shè)計(jì)出基本界面空間的基礎(chǔ)上,加入業(yè)務(wù)邏輯功能,實(shí)現(xiàn)應(yīng)用程序 的各項(xiàng)功能。 應(yīng)用程序的基本界面 面向?qū)ο蟮?C++語言是當(dāng)今程序的主流語言之一,其中微軟公司的 Visual C++(簡稱 VC++)系列是可視化 C++程序開發(fā)的強(qiáng)有力工具 [19]。 在本設(shè)計(jì)的界面中,主要有三個(gè)界面操作窗口,即用戶啟動(dòng)界面、解析 XML 文檔界面和生成 XML 文檔界面,針對數(shù)據(jù)庫的界面作為預(yù)留界面,有待日后進(jìn)一步開發(fā)。 用戶啟動(dòng)界面 用戶啟動(dòng)界面設(shè)計(jì)如圖 。 在用戶啟動(dòng)界面中設(shè)置了四個(gè)按鈕,當(dāng)點(diǎn)擊按鈕的時(shí)候進(jìn)入相關(guān)的程序操作界面。 三個(gè)按鈕鍵分別觸發(fā)三個(gè)子程序: XML 文檔解析、 XML 文檔生成和數(shù)據(jù)庫操作模塊,其中 對數(shù)據(jù)庫的操作選項(xiàng)是 本設(shè)計(jì)設(shè)計(jì) 預(yù)留的功 能,留作以后應(yīng)用程序的擴(kuò)張使用,其中退出鍵則是方便用戶關(guān)閉整個(gè)應(yīng)用程序。這樣的界面安排簡潔,用戶容易操作,方便使用。 解析 XML文檔界面 功能需求如下: 首先,要有一個(gè)文本編輯框,用于輸入 DTD,同樣也需要一個(gè)文本框,用于解 基于 XML 數(shù)據(jù)轉(zhuǎn)儲方法的設(shè)計(jì)與研究 第四章 基于 DOM 的總體設(shè)計(jì) 17 圖 用戶啟動(dòng)界面 析后的 XML 文檔的顯示。其次定義了幾個(gè)按鈕,用于觸發(fā)應(yīng)用程序的相應(yīng)功能,如輸入和保存 DTD,打開 XML 文檔以及結(jié)果的保存和系統(tǒng)的退出。以下就是解析 XML文檔窗口的界面設(shè) 計(jì),如圖 。 在這部分定義了三個(gè)文本框,用于數(shù)據(jù)的輸入輸出。在輸入 DTD 的文本框里將提示輸入 DTD,在輸入 DTD 之后,對其進(jìn)行保存,保存的時(shí)候彈出對話框進(jìn)行保存路徑的選擇。在這里,本文將要求用戶保證 DTD 和 XML 文檔在同一目錄下,這樣解析器在解析 XML 文檔的時(shí)候就會自動(dòng)在同一目錄下搜索相應(yīng)的 DTD,以完成符合 DTD 的對文檔的解析。在這部分還使用一個(gè)對解析結(jié)果進(jìn)行保存的按鈕,當(dāng)觸發(fā)此按鈕時(shí),將提示對結(jié)果進(jìn)行保存,可以進(jìn)行保存路徑的選擇。在這一部分中還使用了一個(gè)用于將數(shù)據(jù)保存到數(shù)據(jù)庫的按鈕,在定義了相關(guān)數(shù)據(jù) 庫表單的基礎(chǔ)上,點(diǎn)擊此按鈕將實(shí)現(xiàn)對數(shù)據(jù)庫的連接。一但連接上數(shù)據(jù)庫,可以使用 SQL 語言對數(shù)據(jù)庫進(jìn)行操作,在這里主要是保存數(shù)據(jù),對于數(shù)據(jù)庫這方面的功能只是預(yù)留,具體設(shè)計(jì)沒有涉及。 基于 XML 數(shù)據(jù)轉(zhuǎn)儲方法的設(shè)計(jì)與研究 第四章 基于 DOM 的總體設(shè)計(jì) 18 圖 解析 XML文檔窗口界面 生成 XML文檔界面 功能需求分析: 在這一部分功能界面中,主要的任務(wù)是填入用戶的數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)到 XML 文檔的轉(zhuǎn)換以及存儲。 這樣的話,在 DTD 中定義的元素類型、屬性類型和屬性名稱就要應(yīng)該在操作界面中有所反映。用戶在填入數(shù)據(jù)的時(shí)候,還要能看到生成 XML 文檔的效果是怎么 樣的, 因此使用一個(gè) 文本框用于顯示生成的 標(biāo)準(zhǔn) XML 文檔。 在確定了功能需求的基礎(chǔ)上,設(shè)計(jì)出如圖 所示的界面。在此操作界面中,元素類型和屬性類型都是從 DTD 中返回的,在等待用戶輸入數(shù)據(jù)的時(shí)候,應(yīng)用程序操作線程被暫停,數(shù)據(jù)輸入完成之后,線程被激活啟動(dòng)。再次提示用戶輸入數(shù)據(jù),直到完成所有元素和屬性的數(shù)據(jù)輸入, 點(diǎn)擊生成 XML 文檔按鈕,生成輸入數(shù)據(jù)的 XML文檔 并 顯示在文本框中, XML 文檔生成界面如圖 所示。 應(yīng)用程序總體 設(shè)計(jì) 根據(jù)程序的功能需要和設(shè)計(jì)要求,在明確應(yīng)用程序的運(yùn)作方式,確定輸入和輸出格式后,提出了總體設(shè)計(jì)思路 。 基于 XML 數(shù)據(jù)轉(zhuǎn)儲方法的設(shè)計(jì)與研究 第四章 基于 DOM 的總體設(shè)計(jì) 19 圖 生成 XML文檔窗口界面 應(yīng)用系統(tǒng) 總體數(shù)據(jù)流程框圖 首先系統(tǒng)的操作是輸入 DTD 和讀取 XML 文檔,在讀取文檔以后,這個(gè)文檔將交由應(yīng)用程序處理即對它進(jìn)行符合 DTD 的解析。此時(shí)系統(tǒng)調(diào)用解析程序的線程,對XML 文檔進(jìn)行解析處理。在基于事件模型的解析器 (DOM)下對文檔 建立節(jié)點(diǎn)樹 并將解析出來的內(nèi)容在文本框內(nèi)顯示出來。同樣的,由于 XML 文檔是一種很好的儲存數(shù)據(jù)的手段,在很多時(shí)候需要將數(shù)據(jù)通過 XML 文檔進(jìn)行網(wǎng)上發(fā)布,這個(gè)時(shí)候就需要將數(shù)據(jù)存入 XML 文檔,當(dāng)然這個(gè)存儲的過程是比較復(fù)雜的, 需要在輸入 DTD 的情況下,生成符合該 DTD 的合法的 XML 文檔模板,這個(gè)模板此時(shí)沒有任何數(shù)據(jù)。生成模板之后,就該往里面填入數(shù)據(jù)了。通過對用戶數(shù)據(jù)的讀取填入到模板中的相應(yīng)位置,生成標(biāo)準(zhǔn)的符合 DTD 定義的 XML 文檔。在整個(gè)系統(tǒng)中,除了能要求數(shù)據(jù)在 XML文檔之間相互轉(zhuǎn)儲之外,應(yīng)用程序還應(yīng)該能對數(shù)據(jù)庫進(jìn)行操作。將數(shù)據(jù)庫中的數(shù)據(jù)讀取和存儲,執(zhí)行查找、更新、刪除等功能。系統(tǒng)的數(shù)據(jù)流框圖如圖 所示。 關(guān)于 DTD 如何創(chuàng)建將在下一小節(jié)介紹。在介紹完之后,將給出一個(gè)具體的 C++語言的基本數(shù)據(jù)類型的 DTD 描述例子。 基于 XML 數(shù)據(jù)轉(zhuǎn)儲方法的設(shè)計(jì)與研究 第四章 基于 DOM 的總體設(shè)計(jì) 20 圖 各部分 功能操作 流程圖 因?yàn)閼?yīng)用程序?qū)嶋H上是集成了上述數(shù)據(jù)流向的業(yè)務(wù)邏輯,根據(jù)兩種數(shù)據(jù)流向和對數(shù)據(jù)庫的操作部分,上面的系統(tǒng)數(shù)據(jù)流程框圖可以得到如下三個(gè)程序流程圖:對XML 文檔解析的部分、對生成 XML 文檔部分和對數(shù)據(jù)庫操作的部分。 (1) 解析 XML 文檔 如 圖 所示為 XML 文檔 解析應(yīng)用程序操作 流程圖。 在解析 XML 文檔的過程中,輸入 DTD 是最先進(jìn)行的一步操作。因?yàn)樵诮馕銎鹘馕龅臅r(shí)候,讀取的數(shù)據(jù)及其結(jié)構(gòu) 都有賴于 DTD 來描述。在讀入 XML 文檔之后將進(jìn)行 XML 文檔的有效性驗(yàn)證, 所謂的有效性驗(yàn)證就是根據(jù) XML 語法規(guī)則和 DTD來驗(yàn)證被解析文檔的合法性,如果合法則進(jìn)行解析處理,如果不合法則轉(zhuǎn)到出錯(cuò)界面,進(jìn)行出錯(cuò)處理或者結(jié)束程序,本文將不解析非法的文檔,因此發(fā)現(xiàn)非法的 XML文檔將提示出錯(cuò)并結(jié)束程序。下一步則是對文檔進(jìn)行解析, 在采用 DOM 解析器對文檔進(jìn)行解析時(shí)是先將文檔生成 DOM 樹, 如果在生成節(jié)點(diǎn)樹的時(shí)候沒有拋出致命的異常錯(cuò)誤, 則認(rèn)為解析是成功的,這時(shí)候?qū)呀馕龊蟮膬?nèi)容顯示出來并可以保存,如果拋出異常的錯(cuò)誤,則認(rèn)為解 析不成功,程序?qū)⒉粫馕龃?XML 文檔,程序結(jié)束。 (2) 數(shù)據(jù)生成 XML 文檔 在本部分將重點(diǎn)解決生成 XML 模板的問題。根據(jù)輸入的 DTD,產(chǎn)生一個(gè)元素結(jié)構(gòu)、類型、出現(xiàn)次數(shù)都符合該 DTD 的 XML 文檔模板,該模板除了沒有存儲數(shù)據(jù)之外,此時(shí)已經(jīng)具備了標(biāo)準(zhǔn)的 XML 文檔的特征,在生成這樣一個(gè)模板的基礎(chǔ)上,將用戶輸入的數(shù)據(jù)獲取并填入模板對應(yīng)的位置,完成數(shù)據(jù)存儲。 導(dǎo)出 數(shù)據(jù) 數(shù)據(jù)庫 操作 讀取 文檔 生成 文檔 顯示 數(shù)據(jù) 提交數(shù)據(jù) 關(guān)系數(shù)據(jù)庫 顯示解析 的數(shù)據(jù)文檔 用戶輸入 DTD 和數(shù)據(jù) 數(shù)據(jù)轉(zhuǎn)儲 應(yīng)用程序 XML 文檔 基于 XML 數(shù)據(jù)轉(zhuǎn)儲方法的設(shè)計(jì)與研究 第四章 基于 DOM 的總體設(shè)計(jì) 21 圖 XML文檔 解析 應(yīng)用程序操作 流程圖 在整個(gè)過程中,采用的方法認(rèn)識 DOM 解析器的機(jī)制,在相應(yīng)的元 素位置提醒用戶輸入數(shù)據(jù)后,這樣將 XML 模板生成相應(yīng)的 DOM 樹,數(shù)據(jù)將填入文檔之中。這是的 XML 文檔就已經(jīng)是合法的存儲了用戶數(shù)據(jù)的文檔了。這樣就完成了對用戶數(shù)據(jù)的XML 文檔的存儲。此 操作 流程如圖 所示。 (3) 數(shù)據(jù)庫的相關(guān)操作 一般說來,將數(shù)據(jù)存儲于傳統(tǒng)的數(shù)據(jù)庫,例如關(guān)系型,面向?qū)ο笮突蛘邔哟涡蛿?shù)據(jù)庫。這可由第三方的中間件完成或由數(shù)據(jù)庫本身提供內(nèi)在支持。對于后者,該數(shù)據(jù)庫被作支持 XML 的 (XMLenable)。文檔可被存儲在原生 (native)XML 數(shù) 據(jù)庫或內(nèi)容管理系統(tǒng)。如果對 XML 特有的功能不是很看 重,數(shù)據(jù),特別是半結(jié)構(gòu)化的數(shù)據(jù)可以存儲在原生 XML 數(shù)據(jù)庫,文檔也可以存儲到傳統(tǒng)數(shù)據(jù)庫。何況 傳統(tǒng)數(shù)據(jù)庫與原生XML 數(shù)據(jù)庫之間的界限越來越模糊,傳統(tǒng)數(shù)據(jù)庫增加了原生 XML 的能力,而原生有效性驗(yàn)證 根據(jù) DTD 解析文檔 結(jié)束 成功? Y N Y N 開始 輸入 DTD 讀入 XML 顯示數(shù)據(jù) 保存 出錯(cuò)界面 拋出異常處理 基于 XML 數(shù)據(jù)轉(zhuǎn)儲方法的設(shè)計(jì)與研究 第四章 基于 DOM 的總體設(shè)計(jì) 22 XML 數(shù)據(jù)庫增加了對文檔存儲在外部 (通常為關(guān)系型 )數(shù)據(jù)庫的支持。 當(dāng)然,本文要探討的問題是已經(jīng)解析的 XML 數(shù)據(jù)存入數(shù)據(jù)庫,并通過應(yīng)用程序?qū)?shù)據(jù)庫進(jìn)行相關(guān)操作。在應(yīng)用程序中,由于要實(shí)現(xiàn)對 XML 的解析,解析出來的數(shù)據(jù)只能暫時(shí)保存在文件里。要實(shí)現(xiàn)對數(shù)據(jù)的存儲和方便地查找和執(zhí)行其他的操作,就需要將解析得到的數(shù)據(jù)進(jìn)行存入數(shù)據(jù)庫的處理。在這個(gè) 過程中將采用 VC++多線程設(shè)計(jì),在啟動(dòng)和數(shù)據(jù)庫連接的線程之后,將獲取已解析的數(shù)據(jù),然后執(zhí)行相關(guān)的數(shù)據(jù)庫操作,比如存儲、查找、刪除等。 圖 XML文檔 生成 操作 流程圖 DTD 文檔的創(chuàng)建 在第二章中介紹了 DTD 的基本概念,簡單介紹了書寫 DTD 所必須的格式,以及 DTD 的語法,下面根據(jù) DTD 的定義,結(jié)合 本 設(shè)計(jì)目的,定義 C++語言數(shù)據(jù)類型的 DTD。這里針對 C++語言的幾種基本類型分別介紹其 DTD: 1. C++語言整型數(shù)據(jù)的 DTD 根據(jù)完整 XML 文檔的 條件,下面寫出整型的 DTD 格式: ?xml version =“ ” encoding =“ gb2312” standalong =“ yes” ? !DOCTYPE int[ !ELEMENT name (PCDATA) 開始 生成 XML 模板 輸入數(shù)據(jù) 存入 XML 文檔 顯示 結(jié)束 保存 基于 XML 數(shù)據(jù)轉(zhuǎn)儲方法的設(shè)計(jì)與研究 第四章 基于 DOM 的總體設(shè)計(jì) 23 !ELEMENT value(PCDATA) ] 此處 name 定義的是整型名字, value 定義的是變量的值。 2. C++語言浮點(diǎn)型數(shù)據(jù)的 DTD 根據(jù)完整 XML 文檔的條件,下面寫出浮點(diǎn)型的 DTD 格式: ?xml version =“ ” encoding =“ gb2312” standa
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1