天天看點

jaxp解析器——sax

   上篇對采用jaxp解析器使用dom技術解析xml做了一個介紹,對jaxp解析器使用sax技術解析xml則一筆帶過了,接下來我們看看jaxp采用sax技術是如何解析xml的呢。

   采用sax技術解析xml是依靠于事件驅動的,邊讀邊解析,相關類位于javax.xml.parsers包裡面

           **SAXParser    此類的執行個體可以從SAXParserFactory的newSAXParser( )方法獲得

                     |_ Parser( File f , DefaultHandler dh )   兩個參數   *第一個參數:xml的路徑    *第二個參數:事件處理器

           **SAXParserFactory     其執行個體可以通過本身的newInstance()方法得到

   **SAX執行過程

            |- 當解析到開始标簽的時,自動執行startElement()方法

            |- 當解析到文本的時,自動執行characters()方法

            |_ 當解析到結束标簽時,自動執行endElement()方法

   **使用jaxp的sax方式來解析xml

            *sax方式不能實作增删改操作,隻能做查詢操作

            *列印整個xml文檔

                   執行parse()方法,第一個參數是xml路徑,第二個參數是事件處理器

                           **建立一個類,繼承事件處理器的類

                           **重寫裡面的三個方法

            *擷取到所有name的值

                           **定義一個成員變量flag=false

                           **判斷開始方法是否是name元素,如果是name元素,把flag設定為true

                           **如果flag值為true,在character()方法裡面列印内容

                           **當執行到結束方法時,把flag值設定成false

            *擷取到第一個name的值