• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Merlin

            Life was like a box of chocolates. You never know what you're gonna get.

               :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              34 隨筆 :: 0 文章 :: 40 評論 :: 0 Trackbacks

            JAXP API--嵌入不同的解釋器

            SAX解釋器+DOM解釋器+XSL轉(zhuǎn)換器

            javax.xml.parsers中加載XML文檔的類:
            DocumentBuilder
            DocumentBuildrFactory
            SAXParser
            SAXParserFactory
            =====================================
            SAX API

            SAX的XML解釋器:Apache的Xerces或Crimson

            處理XML文檔的接口:
            ContentHandler
            EntityResolver
            ErroHandler
            DTDHandler

            DeclHandler
            LexicalHandler
            ======================================
            DOM API

            兩個DOM標準:DOM Level1 DOM Level 2 Core

            節(jié)點
            Node-節(jié)點類型接口層次結(jié)構(gòu)的根。
            Document-樹結(jié)構(gòu)的根
            Element-XML元素
            Text-元素內(nèi)的文本
            Attr-元素的特性
            CDATA Sectionn-CDATA
            NodeList-子節(jié)點的集合
            ProcessingInstruction-指令
            Comment-包含注釋的信息
            DocumentFragment-Document的消減版,用于在樹中移動節(jié)點
            DocumentType-文檔類型定義的子集。
            Entity-DTD中的實體標記
            EntityReference-XML文檔中的實體引用
            Notation-DTD中的符號標記


            從程序中讀取X M L文檔基本上有三種方式:
            1把X M L只當做一個文件讀取,然后自己挑選出其中的標簽。這是黑客們的方法,我們不推薦這種方式。
            你很快會發(fā)現(xiàn)處理所有的特殊情況(包括不同的字符編碼,例外約定,內(nèi)部和外部實體,缺省屬性等)比想象的困難得多;
            你可能不能夠正確地處理所有的特殊情況,這樣你的程序會接收到一個非常規(guī)范的X M L文檔,卻不能正確地處理它。
            要避免這種想法:XML解析器似乎并不昂貴(大多數(shù)是免費的)。
            2可以用解析器分析文檔并在內(nèi)存里創(chuàng)建對文檔內(nèi)容樹狀的表達方式:解析器將輸出傳遞給文檔對象模型,即DOM。
            這樣程序可以從樹的頂部開始遍歷,按照從一個樹單元到另一個單元的引用,從而找到需要的信息。
            3也可以用解析器讀取文檔,當解析器發(fā)現(xiàn)標簽時告知程序它發(fā)現(xiàn)的標簽。
            例如它會告知它何時發(fā)現(xiàn)了一個開始標簽,何時發(fā)現(xiàn)了一些特征數(shù)據(jù),以及何時發(fā)現(xiàn)了一個結(jié)束標簽。
            這叫做事件驅(qū)動接口,因為解析器告知應(yīng)用程序它遇到的有含義的事件。
            如果這正是你需要的那種接口,可以使用SAX。

            SAX是只讀的
            DOM可以從XML原文件中讀取文檔,也可以創(chuàng)建和修改內(nèi)存中的文檔。相比較而言,SAX是用來讀取XML文檔而不是書寫文檔。

            可擴展樣式語言(XSL,eXtensible Sytlesheet Language)是一種基于XML的語言,
            它被設(shè)計用來轉(zhuǎn)換XML文檔到另一種XML文檔或轉(zhuǎn)換XML文檔為可翻譯對象。
            原始的XSL語言已經(jīng)被分割成三種不同的語言:
            1轉(zhuǎn)換工具(XSLT)是一種轉(zhuǎn)換XML文檔到其他XML文檔的語言
            2翻譯工具(XSLF—可以包括X S LT的使用)
            3XML分級命令處理工具(XPath)
            XSL有它自已的根,不管是在層疊樣式表(CSS)中還是在一種叫DSSSL(文檔樣式語義和規(guī)格語言—讀為'deessel')的語言中。
            隨著它的發(fā)展,XSL的樣式表現(xiàn)變得更接近于CSS和遠離DSSSL

            posted on 2006-07-10 17:33 Merlin 閱讀(164) 評論(0)  編輯 收藏 引用 所屬分類: java基礎(chǔ)篇
            久久婷婷综合中文字幕| 怡红院日本一道日本久久| 国产99久久久久久免费看| 久久精品无码一区二区三区| 狠狠色丁香久久婷婷综| 精品久久人人做人人爽综合| 狠狠综合久久AV一区二区三区| 精品免费久久久久久久| 亚洲人成无码网站久久99热国产 | 亚洲国产另类久久久精品黑人| 少妇久久久久久被弄高潮| 久久国产乱子伦精品免费强| 人妻无码精品久久亚瑟影视| 久久不见久久见免费视频7| 亚洲国产香蕉人人爽成AV片久久 | 国产精品美女久久久久网| 久久久久人妻一区精品 | 午夜精品久久久内射近拍高清 | 亚洲狠狠婷婷综合久久久久| 性做久久久久久久久老女人| 国产精品美女久久久免费| 7777久久亚洲中文字幕| 久久热这里只有精品在线观看| 99久久精品国产毛片| 久久亚洲私人国产精品vA| 国产毛片欧美毛片久久久 | 久久免费美女视频| 久久精品夜夜夜夜夜久久| 久久久久久精品无码人妻| 欧美久久久久久| 狠狠色婷婷久久综合频道日韩 | 亚洲国产天堂久久综合网站| 国内精品伊人久久久久AV影院| 久久香综合精品久久伊人| 香蕉久久av一区二区三区| 亚洲va中文字幕无码久久| 无遮挡粉嫩小泬久久久久久久| 久久精品黄AA片一区二区三区| 奇米综合四色77777久久| 2021久久国自产拍精品| 久久精品这里热有精品|