StAX是Streaming API for XML的縮寫,是一種針對XML的流式拉分析API。關於對XML進行分析(或解析)的技術,大家一定都不陌生了。在Java 6.0之前,就已經有四種:
DOM:Document Object Model SAX:Simple API for XML JDOM:Java-based Document Object Model DOM4J:Document Object Model for Java
關於它們的解析原理,以及效能和優缺點,我會在本文的結尾做一個簡要的介紹。這篇文章中,我們主要說說StAX這種新的解析方式。
從一開始,JAXP(Java API for XML Processing)就提供了兩種方法來處理XML:DOM和SAX。StAX是一種面向流的新方法,最終版本於2004年3月發布,並成為JAXP 1.4(包含在Java 6.0中)的一部分。StAX的實現使用了JWSDP(Java Web Services Development Pack)1.6,並結合了SJSXP(Sun Java System XML Streaming Parser,位於javax.xml.stream.*包中)。
JWSDP是用來開發Web Services、Web應用程式以及Java應用(主要是XML處理)的開發包。它包含的Java API有:
JAXP:Java API for XML Processing JAXB:Java Architecture for XML Binding JAX-RPC:Java API for XML-based Remote Procedure Calls JAX-WS:Java API for XML Web Services SAAJ:SOAP with Attachments API for Java JAXR:Java API for XML Registries Web Services Registry