上篇對采用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的值