第15章 SAX2建立XML應用程式 15-1 SAX2的基礎 15-2 使用VB建立SAX應用程式 15-3 應用實例:顯示XML文件

Slides:



Advertisements
Similar presentations
渡黑水溝 郁永河. 2 戎克船:是明末清初時期往返兩岸的主要交通工具 ∗ 1. 關於台灣的開發歷史,我們到底了解多少呢?不妨試著說出 就我們所知有關台灣開發史的故事、小說、電影、音樂與大 家分享。 ∗ 2. 什麼是黑水溝?黑水溝為什麼會成為大陸移民渡海來臺時最 大的威脅? ∗ 3. 有聽過「六死三留一回頭」、「有唐山公,無唐山嬤」這兩.
Advertisements

元大京華證券 組員名單 : A 楊之奇 A 廖本揚 A 宋俊承 A 陳冠廷 A 郭峻瑋 A 指導教授 : 許素華 副教授.
達悟族報告 作者 : 林琪崴, 許原碩 座號 :13 號,14 號 原碩負責 : 簡介, 傳說, 圖驣, 達悟族飛魚季, 琪崴 : 地理位置, 土地利用方式, 飲食文化, 豐收祭.
主讲:张天明 影像艺术工程师. 声音的聆听 指出听到的是什么物体发出的声音,这一 声音是在什么样的空间环境中传播的。 一、 答案: 1 、打气筒打气的声音 2 、手打打气筒给足球打气的声音 3 、手打打气筒给自行车轮胎打气的声音 4 、七次(七声)打气筒打气的声音 5 、(气流)摩擦的声音 6 、猪在发急时的叫声.
概念導向命題技巧與試題分析 臺灣師大地理系 陳國川. 教學評量是一種『抽樣調查』 實施教學評量時,需具備二項條件: 其一,瞭解命題的理論及其實踐的方法; 其二,瞭解各種題型的功能與命題方式。 壹、前言.
第十八章 林肯大郡 第十八章 林肯大郡災變緊急搶救應變措施 1997 年 8 月 18 日溫妮颱風襲台,汐止鎮 的林肯大郡山崩,遭崩場土石撞擊 1997 年 8 月 18 日溫妮颱風襲台,汐止鎮 的林肯大郡山崩,遭崩場土石撞擊造成二十八人罹難八十戶住宅倒塌的慘劇 此災變要喚起國人的重視 本章介紹搜救行動緊急應變措施。
高峰植物園行前解說 2005/12/07 By 羽明. 陽性先驅物種 陽性植物 --- 陽光需求量大 陰性 ( 或耐蔭性 ) 植物 --- 陽光需求量少, 或 日照太強反而無法生存 先驅植物 --- 森林大火或土石流地震後產生的 裸露空地, 先生長出來的植物.
第2章第2章 第 1 节 生物与非生物. [ 猜谜语 ] 名字叫做牛, 不会拉犁头; 说我力气小, 背着房子走。 ( 打一动 物)
報 告 人 : 胡 嘉 琪 ˙ˇ˙ 、 王 紫 庭 = ˇ = 台灣夜市文化 作者: 郭明澤‧私立明道高中‧綜二 4 班 馬炯修‧私立明道高中‧綜二 4 班.
5 ˙ 1 第五章 生物的協調作用 5 ‧ 1 神經系統. 5 ˙ 1 人體的神經系統 1. 協調動物生理反應的系統: 神經 系統、 內分 泌 系統。 2. 神經系統負責 統整 和 協調 。分為 中樞 神經 和 周圍 神經。 (1) 中樞神經包括 腦 和 脊髓 。 (2) 周圍 神經包括 腦神經 和.
从《西游》看大学生的成长 主讲人:颜廷学 时间: 地点:演艺大楼流行剧场.
新员工培训 设计部 思安新能源股份有限公司 主讲人: 韩少华 时 间:
前言:河流的主要功能 1. 交通運輸 優點-運費低廉,維護費用低 缺點-速度慢,裝載費時,不能到達生產區或消費區 的末端,需要轉載。 尚受到河流網路,河口位置,水量變化,河床 狀況,冰封時期 2. 水資源系統.
幽夢影~張潮 小佑子工作室 關於《幽夢影》 作者張潮,記寫他個人對人生世事之體驗透悟的 書。 書中文字,全為「語錄」形式,屬於格言,也是 最精鍊的隨筆。 全書可分為九卷:論才子佳人、論人與人生、論 朋友知己、論讀書、論閒情逸趣、論立身處世、 談文論藝、論四時佳景、論花鳥蟲魚。
成人高考高起点 语文 冲刺班 主讲老师:邓君媚. 复习指导 高考语文含四大块内容: 语言知识和语言表达,古代诗文阅读,现 代文阅读,写作。 在全面复习的前提下,按照《考试大纲》 的要求,要做好思路整理,建立高考的整体框 架的工作。认真归纳整理基础知识、培养基本 能力,复习做到有的放矢。 复习指导.
老师,我可以不 爱 吗? 山东省淄博市张店区实验中学 杜桂兰 星期一的早晨,我紧张而又兴奋,因为 我的赛教课就要开始了。 这是一次级别很 高 的竞赛。
财政部 国家税务总局 中国人民银行(央行) 银监会 证监会 保监会. 法定存款准备金率 利率 税率 政府投资 楼继伟,周小川,易纲.
教育部國民及學前教育署 105學年度教學訪問教師試辦計畫
股指期货的风险及防范.
第2章 Visual Basic 6.0编程基础 (第一部分)
本章重點 認識衣物的基本保養程序 處理不同污漬的方法 不同布料的保養方法
計算機程式及實習 期末報告 題目:商店結帳系統
日期: 六 福 村.
产学研项目财务管理若干问题 鲁春艳
ooxx這個遊戲程式,非常的簡單只要你小時候會玩井字遊戲即可把電腦打敗,可以說是一種考智力取勝的遊戲。
可爱的蜗牛 一、蜗牛冬眠 二、蜗牛进食 三、蜗牛排泄 四、蜗牛呼吸.
本章重點 認識香港不同年代時裝的特色 透過對服裝歷史的認識,了解香港的穿衣文化 透過服裝歷史加強對時裝潮流循環的洞悉力
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
數位芝麻網路公司( 軟體工程師
第九章日治時期的台灣(下).
1.了解VB6.0的功能特点 、集成环境。 2.理解面向对象程序设计的几个概念。 3.掌握VB应用程序设计的步骤。
关注品德与生活课的 探究性学习和微课程的发展
爱的表达方式.
比爾蓋茲導讀.
?????? ?????? ?????? 他是我生的 我愛怎樣就怎樣 這樣對嗎? 影片欣賞.
第六章 社会主义初级阶段理论 第一节 社会主义初级阶段是我国最大的实际 第二节 社会主初级阶段的基本路线和基本纲领
DCWriter电子病历文档编辑器软件介绍
主讲:江西财经职业学院傅文清 联系电话: 教学模式与课程教学设计 主讲:江西财经职业学院傅文清 联系电话:
22 第 课 增强自我保护的意识和能力.
在课题探索中成长 东风东路小学 王洁华 全国红领巾示范学校 广东省一级学校
关注女职工劳动保护,维护女职工合法权益 ——《女职工劳动保护特别规定》解读
大肚宮廟巡禮 下一頁.
大嶼山 香港國際機場 及 寶蓮寺.
Visual Basic 期中報告 組長:沈亞臻 組員:蔣佳育 張庭茹
科學科 污染 空氣 成因 的 : 題目 及 減少空氣污染的方法 陳玉玲 (4) 姓名 : 去到目錄.
第一讲 面向对象程序设计概论 苏州大学 计算机科学与技术学院.
這樣做 便便天天順.
題目:台灣客運 南臺科技大學 機械工程系 班級:奈米一乙 學號:4A 姓名:蔡政堯 授課教師:謝慶存
CH10.
程式語言Visual Basic 變數的可視範圍
CH11.
程式語言 -Visual Basic 變數、常數與資料型態.
Visual Basic程序设计 第八章 过程 -子程序和函数
初识Visual Basic.
Visual Basic 程序设计 教师:王 杨 电话:
視窗程式設計簡介-VB、Visual Studio
程式語言Visual Basic 傳址與傳值
第12章 VBA模块设计.
新觀念的 VB6 教本 第 6 章 資料型別.
Visual Basic 6.0 ——程序设计.
第1章 Visual Basic 简介 郭清溥.
VB语言程序设计教程.
第 15 章 SAX程式設計.
算法与程序设计.
程序基础 2019/4/25.
水利绿色发展问题与建议 姜文来 中国农业科学院农业资源与农业区划研究所.
程式語言 程式語言發展史 資料型態 程式指令 程序定義和使用.
OrientX3.0及其改进之处 XML小组.
計算機概論 跨越講義 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 結構化VS物件導向程式設計
Print方法和函数 2019/5/19.
Presentation transcript:

第15章 SAX2建立XML應用程式 15-1 SAX2的基礎 15-2 使用VB建立SAX應用程式 15-3 應用實例:顯示XML文件

15-1 SAX2的基礎 SAX2是什麼 DOM和SAX的差異 SAX的優缺點

SAX2是什麼 SAX2是Simple API for XML version 2,也就是SAX版本2,這是一組程式設計介面,將XML文件視為一個文字流的資料,在讀取XML元素時觸發一系列的事件,只需撰寫事件處理程序,就可以取得XML元素的內容。 SAX技術屬於一種開放的標準,原來主要為針對Java提供的程式設計介面,目前微軟已經將SAX2技術加入了MSXML剖析器,所以COM相容的程式語言,例如:Visual Basic、Visual C++都可以使用SAX技術開發XML應用程式。

DOM和SAX的差異-1 DOM和SAX技術的差異,我們可以來看看DOM和SAX到底是如何剖析XML文件,使用的XML文件範例很簡單,如下所示: <hello> <message>大家好!</message> <message>Say Hello!</message> </hello>

DOM和SAX的差異-2 DOM如何剖析XML文件 如果使用DOM剖析XML文件,在建立XMLDOM物件後使用load方法載入XML文件,這是一個樹狀結構的節點,如下圖所示:

DOM和SAX的差異-3 SAX如何剖析XML文件1 當使用SAX載入XML文件,它的操作有如開啟一個「循序檔案」(Sequential File),將XML元素和內容視為文字檔案的字元讀入,在讀到XML元素的開始標籤、結尾標籤和內容時將產生一系列的事件,如下所示: startDocument、startElement、characters、endElement、endDocument

DOM和SAX的差異-4 SAX如何剖析XML文件2 以前面的範例文件為例,SAX讀入的資料如同一個文字流,如下所示: [<hello>] [<message>] [大家好!] [</message>] [<message>] [Say Hello!] [</message>] [</hello>]

SAX的優缺點-1 SAX的優點 SAX技術是將XML文件視為一個讀取檔案的文字流,在開發應用程式上,其優點如下所示: 記憶體的使用比較有效率:因為SAX並不會將XML文件完全載入記憶體,所以任何尺寸的XML文件都可以剖析,DOM技術需將整份XML文件載入記憶體,以建立樹狀結構。 使用容易:如果應用程式只是取得XML文件的部分XML元素,此時SAX在使用上更加容易。因為SAX不用如同DOM將整份XML文件載入記憶體。 速度快:如果應用程式只是在順序讀取XML文件的內容,SAX在處理上將比DOM更有效率。

SAX的優缺點-2 SAX使用上的限制 SAX技術和DOM使用完全不同的方法剖析XML文件,所以在使用上有一些限制,如下所示: SAX只能讀取XML內容:SAX技術只能讀取XML文件,但是不能更改XML文件的內容,不同於DOM介面能夠輕易的讀寫XML文件的內容。 無法隨機存取XML元素:SAX技術有如讀取文字檔案的內容,XML元素是一個接著一個XML元素以順序方式讀取XML元素,這是無法回頭的,不同於DOM將XML文件視為一個樹狀結構,可以任易取得指定XML元素的資料。

15-2 使用VB建立SAX應用程式 SAX應用程式介面 ContentHandler介面 ErrorHandler介面 XMLReader介面 Attributes介面 Locator介面

SAX應用程式介面-1 SAX屬於一種「主動模式剖析器」(Push-model Parser),當SAX剖析XML文件時,SAXXMLReader介面在讀取XML文件時同時觸發一系列事件,SAX就是處理事件的應用程式介面。

SAX應用程式介面-2 SAX就是處理事件的應用程式介面,主要的介面如下表所示:

ContentHandler介面-1 startDocument方法 當開始剖析XML文件時觸發此事件,我們可以建立程序處理此事件,這是ContentHandler介面的第一個方法,Visual Basic的程序,如下所示: Private Sub IVBSAXContentHandler_startDocument() ….. End Sub

ContentHandler介面-2 startElement方法 當剖析到每一個XML元素時,處理開始標籤名稱和屬性清單的方法,Visual Basic的程序,如下所示: Private Sub IVBSAXContentHandler_startElement(strNamespaceURI As String, strLocalName As String, strQName As String, ByVal oAttributes As MSXML2.IVBSAXAttributes) ….. End Sub

ContentHandler介面-3 characters方法 這個方法取得XML元素內容的文字資料,Visual Basic的程序,如下所示: Private Sub IVBSAXContentHandler_characters(strChars As String) ….. End Sub 上述程序傳入的參數strChars就是元素的內容,這個方法執行的順序是在startElement和endElement方法間。

ContentHandler介面-4 endElement方法 這個方法處理XML元素的結尾標籤名稱,Visual Basic的程序,如下所示: Private Sub IVBSAXContentHandler_endElement(strNamespaceURI As String, strLocalName As String, strQName As String) ….. End Sub 上述程序的參數strLocalName就是標籤名稱。

ContentHandler介面-5 endDocument方法 當SAX剖析器處理到XML文件的最後就觸發此事件,Visual Basic的程序,如下所示: Private Sub IVBSAXContentHandler_endDocument() ….. End Sub

ContentHandler介面-6 processingInstruction方法 如果XML文件擁有PI,這個方法就是處理XML文件的PI,Visual Basic的程序,如下所示: Private Sub IVBSAXContentHandler_processingInstruction(strTarget As String, strData As String) ….. End Sub 上述程序的參數strTarget就是PI目標(PI Target),strData就是值。

ErrorHandler介面-1 ErrorHandler介面可以追蹤剖析的錯誤,取得錯誤發生時的錯誤資訊,共擁有三種錯誤型態。 可回復錯誤(Recoverable errors):物件類別模組的方法,如下所示: Private Sub IVBSAXErrorHandler_error(ByVal oLocator As MSXML2.IVBSAXLocator, strErrorMessage As String, ByVal nErrorCode As Long) ….. End Sub

ErrorHandler介面-2 致命錯誤(Fatal errors):物件類別模組的方法,如下所示: Private Sub IVBSAXErrorHandler_fatalError(ByVal oLocator As MSXML2.IVBSAXLocator, strErrorMessage As String, ByVal nErrorCode As Long) ….. End Sub

ErrorHandler介面-3 警告訊息(Warnings):物件類別模組的方法,如下所示: Private Sub IVBSAXErrorHandler_ignorableWarning(ByVal oLocator As MSXML2.IVBSAXLocator, strErrorMessage As String, ByVal nErrorCode As Long) ….. End Sub

XMLReader介面-1 這個介面提供XML文件的載入和剖析功能,我們並不需要替此介面建立對應的程序,因為這個介面直接由剖析器處理。

XMLReader介面-2 XMLReader介面的屬性 XMLReader介面的屬性,如下表所示:

Attributes介面-1 這個介面取得XML元素的屬性清單,我們並不需要替此介面建立對應的程序,因為這個介面直接由剖析器處理。

Attributes介面-2 Attributes介面的屬性 Attributes介面的屬性,如下表所示:

Locator介面 Locator介面提供目前剖析的位置資訊,主要為下列兩個屬性,如下表所示: