<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • XML認證考試知識點:Parser

    時間:2024-08-21 11:00:05 IBM認證 我要投稿
    • 相關推薦

    XML認證考試知識點:Parser

      一個 XML Parser(解析器)是一段可以讀入一個文檔并分析其結構的代碼。下面小編為大家整理了關于Parser的XML認證考試知識點,一起來看看吧:

    XML認證考試知識點:Parser

      如何使用一個解析器

      通常而言,使用一個解析器需要如下步驟:

      創建一個解析器對象

      將您的 XML 文檔傳遞給解析器

      處理結果

      構建一個 XML 應用顯然遠遠超出這些,但通常一個 XML 的應用將包含這些流程。

      解析器種類

      有不同的方法來劃分解析器種類:

      驗證或非驗證解析器

      支持 Document Object Model (DOM) 的解析器

      支持 Simple API for XML (SAX) 的解析器

      特定語言編寫的解析器 (Java, C++, Perl 等)

      接下來我們將討論這幾種解析器的各自特點.

      驗證或非驗證解析器

      如我們在前面所提及的,XML 文檔如果使用一個 DTD 并符合 DTD 中的規則將被稱為有效文檔(valid document)。符合基本標記規則的 XML 文檔被稱為格式正確文檔(well-formed document)。

      XML 規范要求所有的解析器當其發現一個文檔不是格式正確時要報錯。

      驗證(Validation)則是另一個問題了。驗證解析器(Validating parser)在解析 XML 文檔同時進行驗證。非驗證解析器(Non-validating parser) 忽略所有的驗證錯誤。

      換而言之,如果一個 XML 文檔是格式正確的時,一個非驗證解析器并不關注文檔是否符合其對應 DTD 所指定的規則(如果有的話)。

      為何使用非驗證解析器?

      速度和效率。要一個 XML 解析器處理 DTD 并確保每個 XML 的元素符合在 DTD 中的規則需要相當大的開銷。如果您確定一個 XML 文檔是有效的(可能來自一個數據源),那就沒有必要再次驗證它了。

      同樣,有時您所需要的只是從一個文檔中找出 XML 的標記。一旦您有了這些標記,您可以將數據從中提取出然后加以處理。如果這就是您所需要的,一個非驗證解析器就是正確的選擇。

      Document Object Model (DOM)

      文檔對象模型(Document Object Model)是 World Wide Web Consortium(W3C) 的正式推薦。它定義了一個接口使得程序可以存取和更新 XML 文檔的風格、結構和內容。支持 DOM 的 XML 解析器實現該接口。

      該規范的第一版,DOM Level 1,可從 http://www.w3.org/TR/REC-DOM-Level-1 獲得。

      當您用一個 DOM 解析器來解析一個 XML 文檔時,您將獲得一個包含文檔中所有元素的樹結構。DOM 提供了不同的功能來檢查文檔的內容和結構。

      Simple API for XML (SAX)

      SAX API 是另一種處理 XML 文檔內容的方法。一個既成事實的標準,它由 David Megginson 和 XML-Dev 郵件列表其它成員所開發。

      要查看完整的 SAX 標準,參見 www.megginson.com/SAX/。要參加 XML-Dev 郵件列表,發送郵件到 majordomo@ic.ac.uk 其中包含: subscribe xml-dev。

      當您使用 SAX 解析器來解析 XML 文檔時,解析器在文檔的不同處將產生事件。由您來決定對每個事件如何處理。

      SAX 解析器會在以下情況下產生事件:在文檔開始和結束時,在一個元素開始和結束時,或者它在一個元素中找到字符時,以及其它若干點。您可編寫 Java 代碼來處理每個事件,以及如何處理從解析器獲得的信息。

      何時使用 SAX?何時使用 DOM?

      為了確定哪種接口適合您,您需要理解所有接口的設計要點,而且需要理解應用程序用您將要處理的 XML 文檔來做什么。考慮下面的問題將有助于您找到正確的方法。

      要用 Java 編寫應用程序嗎?

      JAXP 使用 DOM、SAX 和 JDOM;如果您用 Java 編寫代碼,那么您應使用 JAXP 將您的代碼與各種解析器實現的細節隔離。

      應用程序將如何部署?

      如果您的應用程序將要作為 Java applet 部署,那么您會希望使要下載的 代碼數量最小,別忘了 SAX 解析器比 DOM 解析器小。還要知道使用 JDOM 時,除了 SAX 或 DOM 解析器之外還要求編寫少量的代碼。

      一旦解析了 XML 文檔,還需要多次訪問那些數據嗎?

      如果您需要回過頭來訪問 XML 文件的已解析版本,DOM 可能是正確的選擇。 而 SAX 事件被觸發時,如果您以后需要它,則由您(開發人員)自己決定以 某種方式保存它。如果您需要訪問不曾保存的事件,則必須再次解析該文件。 而 DOM 自動保存所有的數據。

      只需要 XML 源文件的少量內容嗎?

      如果您只需要 XML 源文件的少量內容,那么 SAX 可能是正確的選擇。SAX 不會為源文件中的每個東西創建對象;您要確定什么是重要的。使用 SAX, 您要檢查每個事件以了解它是否與您的需要有關,然后相應地處理它。更妙 的是,一旦找到您正在尋找的東西,您的代碼就會拋出一個異常來完全停止 SAX 解析器。

      您正在一臺內存很少的機器上工作嗎?

      若是的話,不管您可能考慮到的其它因素是什么,SAX 是您的最佳選擇。

      要知道還存在用于其它語言的 XML API;尤其是 Perl 和 Python 社區有極佳的 XML 工具。

    【XML認證考試知識點:Parser】相關文章:

    IBM XML認證知識點:Dtd09-01

    關于IBM XML認證考試的要點01-13

    XML認證元素類型聲明05-28

    Linux認證考試必考知識點01-14

    2017年SUN認證考試常見知識點09-30

    IBM認證考試認證體系01-20

    微軟認證考試最新認證01-13

    微軟認證考試技巧:MCSA認證考試經驗01-13

    思科認證CCNA認證考試簡介06-08

    SUN認證考試知識點:java servlet生命周期09-25

    主站蜘蛛池模板: 精品久人妻去按摩店被黑人按中出 | 精品国产亚洲男女在线线电影 | 精品国产香蕉伊思人在线在线亚洲一区二区 | 国产精品一区二区不卡| 日本免费精品一区二区三区| 亚洲精品免费观看| 国精品午夜福利视频不卡麻豆| 日韩精品人妻av一区二区三区| 国产A∨免费精品视频| 99精品高清视频一区二区| 亚洲精品亚洲人成在线观看| 久久精品一区二区三区中文字幕| 香蕉久久夜色精品国产小说| heyzo高无码国产精品| 亚洲国产精品无码久久久不卡 | 最新国产精品精品视频| 国产精品国产三级国产| 精品国产免费一区二区三区香蕉 | 中文字幕精品一区二区三区视频| 国产精品极品| 欧美精品一区二区精品久久| 2021精品国产综合久久| 亚洲第一极品精品无码久久| 日韩精品一区二区午夜成人版| 国产精品成人一区二区| 98香蕉草草视频在线精品看| 精品国产欧美一区二区| 99精品人妻无码专区在线视频区| 日韩精品无码一区二区中文字幕| 亚洲一区二区三区国产精品| 亚洲精品国产日韩无码AV永久免费网| 国产综合成人色产三级高清在线精品发布| 免费精品一区二区三区第35| 精品久久香蕉国产线看观看亚洲| 99久久国产热无码精品免费| 99精品在线观看| 2018国产精华国产精品| 国产99re在线观看只有精品| 69久久精品无码一区二区| 538国产精品一区二区在线| 国产精品露脸国语对白|