1 / 12

第 17 章 JAXP 的使用

第 17 章 JAXP 的使用. 簡介 JAXP. JAXP 的全名為 Java API for XML Parsing ,將用於做為 XML 文件處理程式與剖析器間的中間層,以達成自由抽換程式使用之 XML 剖析器的效果。 中間層用於包裝服務提供者,以達到隔離服務提供者與服務要求者的效果。 對於 XML 文件的處理,所謂的服務就是剖析 XML 文件,服務提供者就是剖析器,服務要求者則是 XML 文件處理程式。. 簡介 JAXP.

eljah
Télécharger la présentation

第 17 章 JAXP 的使用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 17 章 JAXP的使用

  2. 簡介JAXP • JAXP的全名為Java API for XML Parsing,將用於做為XML文件處理程式與剖析器間的中間層,以達成自由抽換程式使用之XML剖析器的效果。 • 中間層用於包裝服務提供者,以達到隔離服務提供者與服務要求者的效果。 • 對於XML文件的處理,所謂的服務就是剖析XML文件,服務提供者就是剖析器,服務要求者則是XML文件處理程式。

  3. 簡介JAXP • 因此,處理XML文件的應用程式,將不再直接使用剖析器所提供的剖析器類別,而是透過JAXP取得完成剖析的DOM物件(說明於16-2-1節)或SAX剖析器(說明於16-2-2節),所以,抽換剖析器時,應用程式亦不必修改。

  4. JAXP程式設計 - JAXP與DOM • 的全名為ActiveX Data Objects,是早期Microsoft提供給程式設計師在程式設計時,運用OLE DB的應用程式設計介面(Application Programming Interface)。 • 那什麼是OLE DB呢?OLE DB技術是由Microsoft所提出的Component Object Model(COM)介面集合,用於提供程式設計師一個一致性的資料存取介面,方便存取儲存於不同資訊來源的資料。

  5. JAXP程式設計 - JAXP與DOM • 撰寫以DOM物件處理XML文件的Java程式時,JAXP將以DocumentBuilderFactory類別與DocumentBuilder類別,做為剖析器與Java程式的中間層,並擔負著運用剖析器剖析XML文件,完成DOM物件建立的責任,至於決定使用的剖析器,與抽換剖析器的方法,請參考16-2-3節的說明。 • 以下的敘述將完成DocumentBuilderFactory類別與DocumentBuilder類別的引用。

  6. JAXP程式設計 - JAXP與DOM • 在執行XML文件剖析前,必須運用DocumentBuilderFactory類別的newInstance()類別方法,建立DocumentBuilderFactory物件。 • 再以DocumentBuilderFactory物件newDocumentBuilder()方法完成DocumentBuilder物件的建立。 • 最後,才由DocumentBuilder物件執行XML文件的剖析,並取得剖析後的Document物件。

  7. JAXP程式設計 - JAXP與SAX • 撰寫以SAX處理XML文件的Java程式時,JAXP將以SAXParserFactory類別與SAXParser類別,做為剖析器與Java程式的中間層,並擔負著取得SAX剖析器物件的責任,至於決定使用的剖析器,與抽換剖析器的方法,請參考16-2-3節的說明。 • 以下的敘述,將完成SAXParserFactory類別與SAXParser類別的引用。

  8. JAXP程式設計 - JAXP與SAX • 在執行XML文件剖析前,必須運用SAXParserFactory類別的newInstance()類別方法,建立SAXParserFactory物件。 • 再以SAXParserFactory物件newSAXParser()方法完成SAXParser物件(剖析器物件)的建立。 • 最後,呼叫SAXParser物件parse,傳入欲剖析的XML文件與處理器。

  9. JAXP程式設計 - JAXP與SAX • SAXParser類別parse()方法的呼叫語法說明如下:SAXParser物件.parse( String uri, DefaultHandler dh);無回傳值

  10. JAXP程式設計 - 使用剖析器的取得與抽換 • 取得目前使用的剖析器欲取得目前JAXP所使用的剖析器時,可以用DocumentBuilderFactory類別、DocumentBuilder類別、SAXParser類別與SAXParserFactory類別的toString()方法,輸出目前使用的剖析器資料。

  11. JAXP程式設計 - 使用剖析器的取得與抽換 • 指定使用的剖析器在Java 2 SDK 1.4版的安裝資料夾下jre\lib子資料夾內,建立一個名為jaxp.properties的設定檔,內容如下所述(此檔儲存於ch16資料夾下)。該檔案內,將分別設定JAXP介面使用的xerces剖析器實做類別為javax.xml.parsers.DocumentBuilderFactory與javax.xml.parsers.SAXParserFactory屬性。

  12. JAXP程式設計 - 使用剖析器的取得與抽換 • 完成設定後,再執行getParser.java,則執行結果將為

More Related