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

正文內(nèi)容

畢業(yè)設(shè)計(jì)(論文)-xml快速解析技術(shù)(文件)

2024-12-27 17:47 上一頁面

下一頁面
 

【正文】 MLSPY 等工具。 XML 的解析技術(shù)在 XML 文檔的應(yīng)用過程中有著重要的作用,它的行為減少了應(yīng)用程序處理 XML 數(shù)據(jù)的負(fù)擔(dān),為應(yīng)用程序和數(shù)據(jù)庫(kù)提供了可操作的數(shù)據(jù)。 第三章首先說明了 XML 解析的必要性以及解析原理,并詳細(xì)講解了基于對(duì)象的解析方式( DOM)和基于事件的解析方式( SAX)。 第五章是本論文的結(jié)束部分,對(duì)全文做統(tǒng)一總結(jié),并簡(jiǎn)要概括了本文未詳細(xì)討論的如何使 VTD 記錄具有唯一性的內(nèi)容。而從 SGML 衍生出來的 HTML( Hyper Text MarkupLanguage,超文本標(biāo)記語言),憑借其簡(jiǎn)潔性使得每個(gè)人都可能創(chuàng)建 Web頁面并將它們推向外部世界,從 而迅速成為在網(wǎng)上制作頁面的標(biāo)準(zhǔn)語言格式 [2]。XML 是一個(gè)更具彈性、更容易添加新功能而又具有統(tǒng)一標(biāo)準(zhǔn) 的語言格式,它的目標(biāo)是以目前用 HTML 尚不可能的方法在 Web 上服務(wù)、接受和處理 SGML。有效文檔則已經(jīng)針對(duì)某個(gè) DTD 驗(yàn)證過了。它們用于在 XML 分析器外給另一個(gè)處理應(yīng)用發(fā)送指示。 ? 元素必須正確的嵌套。gt;”、“ amp?!?、“’”和“””字符。 第二章 可擴(kuò)展標(biāo)記語言 7 圖 XML 地址簿文件 文檔說明 所有的 XML 文檔都以首部開始,即使首部中沒有任何內(nèi)容。該說明有三個(gè)組成部分: ? version=“ ”是版本說明,表示該文檔遵循 規(guī)范; ? encoding=“ UTF8”是編碼說明,表示采用 UTF8 作為編碼方式 ; ? standalone=“ yes”是獨(dú)立說明,指出該文檔在一個(gè)文件里完成,不需要從外部導(dǎo)入文件。注釋是調(diào)試代碼的好方法,它 不是為機(jī)器準(zhǔn)備的,而是供人閱讀的,因此分析器總是不理會(huì)“ !”和“ ”中間的一切。文件類型聲明有如下三個(gè)主要作用: ? 指定文件的根元素。如果鏈接 DTD,那么說明包括指示 XML 分析器到哪去尋找該DTD 的鏈接信息,這叫做鏈接文檔類型說明。 標(biāo)記 標(biāo)記( tag)是 XML 語法中最顯而易見的組成部分,它被用來描述元素。在HTML 中的元素 br 就是一個(gè)空元素,因?yàn)樗缓腥魏巫址麛?shù)據(jù)。 HTML 中空元素的語法來自結(jié)束標(biāo)記的格式。然而,仍然可以以“起始標(biāo)記 /結(jié)束標(biāo)記”的形式來表示空元素。實(shí)質(zhì)上,實(shí)體引用還是 XML 片段的唯一名稱。s Ratchet Service/pany 實(shí)體引用在和號(hào)和分號(hào)之間。通常, XML 解析可能會(huì)根據(jù)這些字符在 XML 中不同的結(jié)構(gòu)作用來解析 這些字符。換句話說, XML 解析器和應(yīng)用程序通常會(huì)忽略注釋。注釋可以出現(xiàn)在 CDATA 片段, 但他們并不作為注釋來處理。在該例子中,下面的注釋被用來描述地址簿中特定的聯(lián)系人。 XML 解析器并不處理處理指令,相反,它將處理指 令返回給應(yīng)用程序。這還使應(yīng)用程序在試圖處理一個(gè)不支持版本的文件時(shí),可以提示給用戶。下面是一個(gè) CDATA 片段的例子: ![CDATA[ nameJack Tors/name address1816 N Street/address ]] cityNew York/city stateNew York/state 在該例子中,元素 name 和元素 address 不被當(dāng)作 XML 標(biāo)記,而其中的數(shù)據(jù)也不能被當(dāng)作解析的字符數(shù)據(jù),因?yàn)檫@些標(biāo)記被放在 CDATA 片段中。 XML 相關(guān)技術(shù)和標(biāo)準(zhǔn) XML 不是一 項(xiàng)獨(dú)立的技術(shù),它包含了很多其他相關(guān)技術(shù)和標(biāo)準(zhǔn),例如 DTD、 XML模式( Schema)、名域( Namespace)、 XLink,、 XPath、 XPointer、 XHTML、 XSL、CSS、 DOM、 SAX 和 SOAP 等。 DTD 可以定義文檔的元素、元素的屬性以及元素和屬性之間的關(guān)系。圖 是 XML 文檔的外部 DTD[7]。通過提供對(duì)結(jié)構(gòu)和內(nèi)容的約束,XML 模式定義一類 XML 文檔。模式處理程序?qū)@示這個(gè)文檔是否符合該模式,即文檔是否有效。它是在一個(gè)文檔中混合來自多個(gè) DTD 的元素或多組名字并聲明哪些元素和屬性來自哪組名字的一條途徑。 從圖 中可以看出,“ title”雖然出現(xiàn)了兩次,但由于使用了“ bk”和“ authr”兩個(gè)不同的前綴,從而很容易地被區(qū)分開來 [8]。 XLink 表示資源之間或資源各部分 之間的一種關(guān)系,而資源可以是賦予 URI 的任何東西。 XPointer是 XLink 用來結(jié)合 XPath 的機(jī)制, XPointer 表達(dá)式總是寫成 xpointer(??),括號(hào)內(nèi)是 XPath 表達(dá)式。 XSL 由兩個(gè)標(biāo)準(zhǔn)組成,一個(gè)是 XSLT( Extensible StylesheetLanguage Transformations,可擴(kuò)展樣式表語言轉(zhuǎn)換),另一個(gè)是 XSLFO( ExtensibleStyle Language Formatting Objects,可擴(kuò)展樣式語言格式化對(duì)象)。圖 表示了 XSL 的工作流程,該流程概括起來說就是: XSL 處理器讀取一個(gè) XML文檔和一個(gè) XSL 樣式表,輸出符合樣式表的 XML 文檔的表示形式。用 XSLT 表示的轉(zhuǎn)換包含一組模板 規(guī)則。而 XSLFO 元素的主要作用就是頁面管理、流動(dòng)管理(內(nèi)容如何“注入”已創(chuàng)建的一系列頁面)和段落 /字符管理。 使轉(zhuǎn)換與格式化相分離的好處是,能夠通過選擇一個(gè)目標(biāo) XSL 處理器理解的名域,來選擇按何種方式格式化試圖顯示的新文檔。本章從總整體上對(duì)將要研究 XML 解析技術(shù)做了基礎(chǔ)知識(shí)的鋪墊,以便后續(xù)章節(jié)的進(jìn)一步研究。隨著 XML 越來越廣泛地被采用,高效解析 XML 文檔也變得越來越重要,尤其是對(duì)于那些要處理大量數(shù)據(jù)的應(yīng)用程序,這種技術(shù)尤為重要。它包含可解析或者不可解析的數(shù)據(jù)。 XML 解析器(處理器)用來讀取 XML 文檔,利用它可以訪問文檔的結(jié)構(gòu)和內(nèi)容。 XML 解析器根據(jù)是否驗(yàn)證合法性,可分為驗(yàn)證性和非驗(yàn)證性解析器;而根據(jù)解析方式的不同,又可分為基于樹的解析器( DOM)和基于事件的解析器( SAX)。 3) XML 解析器解壓縮、解析、解 釋和確認(rèn) XML 流量,然后將它路由給適當(dāng)?shù)膽?yīng)用服務(wù)器。與通過擴(kuò)展應(yīng)用服務(wù)器來獲得相同性能相比,利用 XML 解析器實(shí)現(xiàn)相同性能目標(biāo)的花費(fèi)僅為前者的 1/10。方法就是函數(shù),它用來操作對(duì)象。 實(shí)際上,每一個(gè)事件都可以是對(duì)象。使用各種語言可以創(chuàng)建不同的對(duì)象,這些對(duì)象被稱為“用戶自定義對(duì)象”。它定義了文檔的邏輯結(jié)構(gòu)以及訪問和操作文檔的方式。 DOM 是一種基于樹型的解析技術(shù),將 XML 文檔一次性解析,生成一個(gè)位于內(nèi)存中的對(duì)象樹用以描述該文檔。 (2) Element 和 Attr 對(duì)象:這些節(jié)點(diǎn)對(duì)象都是文檔某一部分的映射,節(jié)點(diǎn)的定級(jí)層次恰好反映了文檔的結(jié)構(gòu); (3) Text 對(duì)象:作為 Element 和 Attr 對(duì)象的子節(jié)點(diǎn), Text 對(duì)象表達(dá)了元素或?qū)傩缘奈谋緝?nèi)容。 DOM 樹中的所有節(jié)點(diǎn)都是從 Node 對(duì)象繼承而來的。 DOM 使用一種屬性結(jié)構(gòu)對(duì)接口之間的關(guān)系進(jìn)行建模,但并沒有將實(shí)際的實(shí)現(xiàn)局限于某種屬性數(shù)據(jù)結(jié)構(gòu)。 結(jié)構(gòu)化數(shù)據(jù) Food FrenchFries Curly Fries /FrenchFries Beers Good_Beer Samuel Adams /Good_Beer /Beers DOM 文檔 圖 DOM 文檔對(duì)象的簡(jiǎn)化視圖 第三 章 XML 解析技術(shù)基礎(chǔ) 21 DOM 的優(yōu)缺點(diǎn) DOM 以及廣義的基于樹的處理具有幾個(gè)優(yōu)點(diǎn)。利用 DOM,開發(fā)人員可以動(dòng)態(tài)地創(chuàng)建 XML,遍歷文檔、增加 /刪除 /修改文檔內(nèi)容,具有較好的導(dǎo)航能力。典型的 DOM 樹的容量比文檔容量要大一個(gè)數(shù)量級(jí),所以它要消耗大量?jī)?nèi)存。 基于事件的簡(jiǎn)單應(yīng)用編程接口( SAX) SAX 結(jié)構(gòu) 在用戶接口編程中,經(jīng)常會(huì)遇到“基于事件”這個(gè)詞。這是因?yàn)橐坏┦聞?wù)設(shè)置好了以后,用戶就不能調(diào)用解析器了,而是解析器在調(diào)用。 簡(jiǎn)單的來講,基于事件的 API 直接向應(yīng)用程序報(bào)告解析事件(例如元素的開22 XML 快速解析技術(shù) 始和結(jié)束)通常不創(chuàng)建內(nèi)部的數(shù)形結(jié)構(gòu)。 SAX 解析器不像 DOM 那樣建立一個(gè)整個(gè)文檔的樹型表示,它采用回調(diào)機(jī)制,在讀取文檔時(shí)激活一系列的事件,這些事件被推給事件處理器。如下圖中的例子 [11]所示。 簡(jiǎn)單的 XML 文檔 解析該文檔時(shí)調(diào)用的方法 ?xml version=‖‖? vehicles carMitsubishi Lancer/car /vehicles startDocument() startElement(vehicles) startElement(car) characters(Mitsubishi Lancer) endElement(car) endElement(vehicles) endDocument() 圖 SAX 解析示意圖 第三章 XML 解析技術(shù)基礎(chǔ) 23 2) SAX 無需像 DOM 那樣為所有節(jié)點(diǎn)創(chuàng)建對(duì)象,開發(fā)人員可以根據(jù)需要?jiǎng)?chuàng)建自己的 XML 對(duì)象模型。 SAX 的缺點(diǎn)如下 : (1) 不能隨機(jī)訪問文檔。也就是說,為了維護(hù)數(shù)據(jù)結(jié)構(gòu),在這個(gè)結(jié)構(gòu)中保存有用戶所需要的環(huán)境信息,例如當(dāng)前元素祖先的屬性,復(fù)雜的搜索可能會(huì)使程序變得很亂。 在具體分析了 DOM 和 SAX 解析方式之后,下面將給出一個(gè)具體的圖表,可以簡(jiǎn)明、清晰地看出兩種方式各自的優(yōu)缺點(diǎn)。它們還使用動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu),這種結(jié)構(gòu)會(huì)隨著時(shí)間不斷變化,并且截取任意大小的數(shù)據(jù)塊有時(shí)候會(huì)非常大。該格式的一個(gè)關(guān)鍵優(yōu) 化性能就在于它采用了非提取性的令牌環(huán)結(jié)構(gòu)。 因?yàn)?VTD 的記錄是定長(zhǎng)的,就可以按照大小分配內(nèi)存緩沖區(qū)來存儲(chǔ)這些記錄,這樣就避免了產(chǎn)生大量相關(guān)其他 XML 處理技術(shù)的典型隊(duì)列或節(jié)點(diǎn)。眾所周知, DOM 對(duì)于大的文檔處理速度會(huì)很慢而且很耗費(fèi)內(nèi)存,而 SAX 對(duì)復(fù)雜結(jié)構(gòu)的 XML 文檔不具備簡(jiǎn)潔的易用性。在某些情況下,我們?yōu)榱?獲取 第三章 XML 解析技術(shù)基礎(chǔ) 25 所需的數(shù)據(jù)要使用很大的緩沖區(qū),換句話說,我們會(huì)在同一個(gè)文檔中重復(fù) SAX解析很多次。為了實(shí)現(xiàn)非提?。?nonextractive)這個(gè)目的,它將原 XML 文件原封不動(dòng)的以二進(jìn)制的方式讀進(jìn)內(nèi)存,連解碼都不做,然后在這個(gè)字節(jié)( byte)數(shù)組上解析每個(gè)元素( element)的位置并把一些信息記錄下來,之后的遍歷操作便在這些保存下來的記錄( record)上進(jìn)行,如果需要提取 XML 內(nèi)容就利用記錄( record)中的位置等信息在原始字節(jié)( byte)數(shù)組上進(jìn)行解碼并返回字符串。 VTDXML 的內(nèi)存占用是原 XML 的 ~(其中 的部分是原 XML,~ VTDXML占用的部分),而 DOM的內(nèi)存占用則是原 XML的 5x~10x。在此之后,文章又進(jìn)一步詳細(xì)解釋了常用的基于數(shù)模型和基于事件模型的兩種解析方式,具體分析了兩者的工作方式,并列出圖表比較了兩者各自的利弊。而引入 XML 文件后使得這個(gè)問題變得簡(jiǎn)單化。如圖 所示是一個(gè)比較典型的站點(diǎn)式遠(yuǎn)程監(jiān)控系統(tǒng)的模型。 由此可見,在這個(gè)站點(diǎn)式監(jiān)控系統(tǒng)中有多種數(shù)據(jù)要互相發(fā)送,并且數(shù)據(jù)的發(fā)送是隨機(jī)的、雜亂的、動(dòng)態(tài)的,內(nèi)容相異,格式不同,種類繁多。同時(shí),為了便于實(shí)現(xiàn),提高系統(tǒng)的可靠性、穩(wěn)定性及可維護(hù)性,采用層次結(jié)構(gòu),將系統(tǒng)的功能劃分為七層模型,如圖 所示: 第四章 一種基于 XML的數(shù)據(jù)通信模型的設(shè)計(jì)與實(shí)現(xiàn) 29 (1) 物理鏈路層:是指網(wǎng)絡(luò)通訊的線路,本系統(tǒng)采用電信的 ADSL 有線方式,其它也可以是局域網(wǎng)(雙絞線、同軸電纜、光纖等)或者無線通訊 方式( GPRS、GSM、 CDMA 等);物理鏈路層是系統(tǒng)數(shù)據(jù)通信的基礎(chǔ),但與上層的實(shí)現(xiàn)方式基本無關(guān)。 Windows 通過 Socket 把數(shù)據(jù)格式轉(zhuǎn)換成網(wǎng)絡(luò)傳輸格式,也把網(wǎng)絡(luò)數(shù)據(jù)格式轉(zhuǎn)換成 Windows 格式。 (4) XML 文件控制層:在 XML 中的數(shù)據(jù)可能是接收到的數(shù)據(jù),也可能是要發(fā)送的數(shù)據(jù),監(jiān)控中心和站點(diǎn)必須準(zhǔn) 確控制 XML 文件的接收和發(fā)送。 (6) 數(shù)據(jù)表示層:將采集到的數(shù)據(jù)、處理中的數(shù)據(jù)或者在數(shù)據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)等各種數(shù)據(jù)格式轉(zhuǎn)換為能夠用 XML 文件描述的格式。該動(dòng)態(tài)鏈接庫(kù)的主要接口及其功能如下: (1) 初始化。 第四章 一種基于 XML的數(shù)據(jù)通信模型的設(shè)計(jì)與實(shí)現(xiàn) 31 包 括請(qǐng)求連接、接收到數(shù)據(jù)、斷開連接和日志回調(diào)。 參數(shù): pszLocalIP-服務(wù)器 IP 地址 nSvrPort-服務(wù)器端口號(hào) 返回: 0 或者錯(cuò)誤代碼 (5) 服務(wù)器停止監(jiān)聽 DWORD DT_Net_StopListen()。 參數(shù): nIDSocket-套接字句柄 (9) 連接服務(wù)器 DWORD DT_Net_ConnectRemote(LPCTSTR pstrRemoteIP, unsigned long nRemotePort)。 然后設(shè)置回調(diào)函數(shù): DT_Net_SetCallBack(self,LPNET_ACCEPT_CALLBACK, LPNET_RECV_CALLBACK,LPNET_DISCONN_CALLBACK, LPNET_LOG_CALLBACK)。 nRemotePort-服務(wù)器端口號(hào) ? 實(shí)現(xiàn)文件傳輸 將監(jiān)控中心作為 S
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1