JavaTM 2 Platform
Standard Ed. 6

javax.xml.parsers
類別 SAXParser

java.lang.Object
  繼承者 javax.xml.parsers.SAXParser

public abstract class SAXParser
extends Object

定義包裹 XMLReader 實作類別的 API。在 JAXP 1.0 中,此類別包裹 Parser 介面,但是此介面由 XMLReader 取代。為了便於過渡,此類別繼續支持相同的名稱和介面,並支持新方法。 此類別的實例可以從 SAXParserFactory.newSAXParser() 方法獲得。獲取此類別的實例之後,將可以從各種輸入源解析 XML。這些輸入源為 InputStream、File、URL 和 SAX InputSource。

此靜態方法根據系統屬性設置創建新的處理器實例,如果未定義屬性,則使用平臺預設值。

控制創建哪個處理器實作的系統屬性名為 "javax.xml.parsers.SAXParserFactory"。此屬性指定一個類別,該類別為此抽象類別的具體子類別。如果未定義屬性,將使用預設的平臺。

由於內容由底層解析器解析,因此將調用給定 HandlerBaseDefaultHandler 的方法。

包裹底層實作的此類別的實作程序可以考慮使用 ParserAdapter 類別,從而使其 SAX1 實作最初在此修訂類別下工作。


建構子摘要
protected SAXParser()
          將阻止實例化的受保護建構子。
 
方法摘要
abstract  Parser getParser()
          返回由此類別的實作封裝的 SAX 解析器。
abstract  Object getProperty(String name)
          返回 XMLReader 的底層實作中請求的特定屬性。
 Schema getSchema()
          獲取對 XML 處理器使用的 Schema 的參考。
abstract  XMLReader getXMLReader()
          返回由此類別的實作封裝的 XMLReader
abstract  boolean isNamespaceAware()
          指示此解析器是否被配置為可識別名稱空間。
abstract  boolean isValidating()
          指示此解析器是否被配置為驗證 XML 文檔。
 boolean isXIncludeAware()
          獲取此解析器的 XInclude 處理網要。
 void parse(File f, DefaultHandler dh)
          使用指定的 DefaultHandler 將指定檔案的內容解析為 XML。
 void parse(File f, HandlerBase hb)
          使用指定的 HandlerBase 將指定檔案的內容解析為 XML。
 void parse(InputSource is, DefaultHandler dh)
          使用指定的 DefaultHandler 將給定 InputSource 的內容解析為 XML。
 void parse(InputSource is, HandlerBase hb)
          使用指定的 HandlerBase 將給定 InputSource 的內容解析為 XML。
 void parse(InputStream is, DefaultHandler dh)
          使用指定的 DefaultHandler 將給定的 InputStream 實例的內容解析為 XML。
 void parse(InputStream is, DefaultHandler dh, String systemId)
          使用指定的 DefaultHandler 將給定的 InputStream 實例的內容解析為 XML。
 void parse(InputStream is, HandlerBase hb)
          使用指定的 HandlerBase 將給定的 InputStream 實例的內容解析為 XML。
 void parse(InputStream is, HandlerBase hb, String systemId)
          使用指定的 HandlerBase 將給定的 InputStream 實例的內容解析為 XML。
 void parse(String uri, DefaultHandler dh)
          使用指定的 DefaultHandler 將給定統一資源標識符 (URI) 描述的內容解析為 XML。
 void parse(String uri, HandlerBase hb)
          使用指定的 HandlerBase 將給定統一資源標識符 (URI) 描述的內容解析為 XML。
 void reset()
          將此 SAXParser 重置為其原始配置。
abstract  void setProperty(String name, Object value)
          設置 XMLReader 的底層實作中的特定屬性。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

SAXParser

protected SAXParser()

將阻止實例化的受保護建構子。使用 SAXParserFactory.newSAXParser()

方法詳細資訊

reset

public void reset()

將此 SAXParser 重置為其原始配置。

SAXParser 被重置為使用 SAXParserFactory.newSAXParser() 創建它時的狀態。設計 reset() 旨在允許重用現有的 SAXParser,從而節省與創建新的 SAXParser 相關的資源。

重置的 SAXParser 不能保證具有相同的 Schema Object,如 Object.equals(Object obj)。可以保證具有功能相等的 Schema

拋出:
UnsupportedOperationException - 當這些實作沒有覆寫此方法時
從以下版本開始:
1.5

parse

public void parse(InputStream is,
                  HandlerBase hb)
           throws SAXException,
                  IOException

使用指定的 HandlerBase 將給定的 InputStream 實例的內容解析為 XML。建議使用此方法的 DefaultHandler 版本,因為 HandlerBase 類別在 SAX 2.0 中已過時

參數:
is - 套件含要解析內容的 InputStream。
hb - 要使用的 SAX HandlerBase。
拋出:
IllegalArgumentException - 如果給定的 InputStream 為 null。
SAXException - 如果解析產生 SAX 錯誤。
IOException - 如果在與 InputStream 的交互過程中發生 IO 錯誤。
另請參見:
DocumentHandler

parse

public void parse(InputStream is,
                  HandlerBase hb,
                  String systemId)
           throws SAXException,
                  IOException

使用指定的 HandlerBase 將給定的 InputStream 實例的內容解析為 XML。建議使用此方法的 DefaultHandler 版本,因為 HandlerBase 類別在 SAX 2.0 中已過時

參數:
is - 套件含要解析內容的 InputStream。
hb - 要使用的 SAX HandlerBase。
systemId - 解析相關 URI 所需的 systemId。
拋出:
IllegalArgumentException - 如果給定的 InputStreamnull
IOException - 如果在與 InputStream 的交互過程中發生任何 IO 錯誤。
SAXException - 如果在處理過程中發生任何 SAX 錯誤。
另請參見:
中的此方法。

parse

public void parse(InputStream is,
                  DefaultHandler dh)
           throws SAXException,
                  IOException
使用指定的 DefaultHandler 將給定的 InputStream 實例的內容解析為 XML。

參數:
is - 套件含要解析內容的 InputStream。
dh - 要使用的 SAX DefaultHandler。
拋出:
IllegalArgumentException - 如果給定的 InputStream 為 null。
IOException - 如果發生任何 IO 錯誤。
SAXException - 如果在處理過程中發生任何 SAX 錯誤。
另請參見:
DocumentHandler

parse

public void parse(InputStream is,
                  DefaultHandler dh,
                  String systemId)
           throws SAXException,
                  IOException
使用指定的 DefaultHandler 將給定的 InputStream 實例的內容解析為 XML。

參數:
is - 套件含要解析內容的 InputStream。
dh - 要使用的 SAX DefaultHandler。
systemId - 解析相關 URL 所需的 systemId。
拋出:
IllegalArgumentException - 如果給定的 InputStream 為 null。
IOException - 如果發生任何 IO 錯誤。
SAXException - 如果在處理過程中發生任何 SAX 錯誤。
另請參見:
org.xml.sax.DocumentHandler 版本。

parse

public void parse(String uri,
                  HandlerBase hb)
           throws SAXException,
                  IOException
使用指定的 HandlerBase 將給定統一資源標識符 (URI) 描述的內容解析為 XML。建議使用此方法的 DefaultHandler 版本,因為 HandlerBase 類別在 SAX 2.0 中已過時

參數:
uri - 要解析的內容的位置。
hb - 要使用的 SAX HandlerBase。
拋出:
IllegalArgumentException - 如果 uri 為 null。
IOException - 如果發生任何 IO 錯誤。
SAXException - 如果在處理過程中發生任何 SAX 錯誤。
另請參見:
DocumentHandler

parse

public void parse(String uri,
                  DefaultHandler dh)
           throws SAXException,
                  IOException
使用指定的 DefaultHandler 將給定統一資源標識符 (URI) 描述的內容解析為 XML。

參數:
uri - 要解析的內容的位置。
dh - 要使用的 SAX DefaultHandler。
拋出:
IllegalArgumentException - 如果 uri 為 null。
IOException - 如果發生任何 IO 錯誤。
SAXException - 如果在處理過程中發生任何 SAX 錯誤。
另請參見:
DocumentHandler

parse

public void parse(File f,
                  HandlerBase hb)
           throws SAXException,
                  IOException
使用指定的 HandlerBase 將指定檔案的內容解析為 XML。 建議使用此方法的 DefaultHandler 版本,因為 HandlerBase 類別在 SAX 2.0 中已過時。

參數:
f - 套件含要解析的 XML 的檔案
hb - 要使用的 SAX HandlerBase。
拋出:
IllegalArgumentException - 如果 File 物件為 null。
IOException - 如果發生任何 IO 錯誤。
SAXException - 如果在處理過程中發生任何 SAX 錯誤。
另請參見:
DocumentHandler

parse

public void parse(File f,
                  DefaultHandler dh)
           throws SAXException,
                  IOException
使用指定的 DefaultHandler 將指定檔案的內容解析為 XML。

參數:
f - 套件含要解析的 XML 的檔案
dh - 要使用的 SAX DefaultHandler。
拋出:
IllegalArgumentException - 如果 File 物件為 null。
IOException - 如果發生任何 IO 錯誤。
SAXException - 如果在處理過程中發生任何 SAX 錯誤。
另請參見:
DocumentHandler

parse

public void parse(InputSource is,
                  HandlerBase hb)
           throws SAXException,
                  IOException
使用指定的 HandlerBase 將給定 InputSource 的內容解析為 XML。建議使用此方法的 DefaultHandler 版本,因為 HandlerBase 類別在 SAX 2.0 中已過時。

參數:
is - 套件含要解析內容的 InputSource。
hb - 要使用的 SAX HandlerBase。
拋出:
IllegalArgumentException - 如果 InputSource 物件為 null
IOException - 如果發生任何 IO 錯誤。
SAXException - 如果在處理過程中發生任何 SAX 錯誤。
另請參見:
DocumentHandler

parse

public void parse(InputSource is,
                  DefaultHandler dh)
           throws SAXException,
                  IOException
使用指定的 DefaultHandler 將給定 InputSource 的內容解析為 XML。

參數:
is - 套件含要解析內容的 InputSource。
dh - 要使用的 SAX DefaultHandler。
拋出:
IllegalArgumentException - 如果 InputSource 物件為 null
IOException - 如果發生任何 IO 錯誤。
SAXException - 如果在處理過程中發生任何 SAX 錯誤。
另請參見:
DocumentHandler

getParser

public abstract Parser getParser()
                          throws SAXException
返回由此類別的實作封裝的 SAX 解析器。

返回:
由此類別的實作封裝的 SAX 解析器。
拋出:
SAXException - 如果在處理過程中發生任何 SAX 錯誤。

getXMLReader

public abstract XMLReader getXMLReader()
                                throws SAXException
返回由此類別的實作封裝的 XMLReader

返回:
由此類別的實作封裝的 XMLReader。
拋出:
SAXException - 如果在處理過程中發生任何 SAX 錯誤。

isNamespaceAware

public abstract boolean isNamespaceAware()
指示此解析器是否被配置為可識別名稱空間。

返回:
如果此解析器被配置為可識別名稱空間,則返回 true;否則返回 false。

isValidating

public abstract boolean isValidating()
指示此解析器是否被配置為驗證 XML 文檔。

返回:
此解析器被配置為驗證 XML 文檔,則返回 true;否則返回 false。

setProperty

public abstract void setProperty(String name,
                                 Object value)
                          throws SAXNotRecognizedException,
                                 SAXNotSupportedException

設置 XMLReader 的底層實作中的特定屬性。核心功能和屬性列表可以在 http://sax.sourceforge.net/?selected=get-set 中找到。

參數:
name - 要設置的屬性的名稱。
value - 要設置的屬性的值。
拋出:
SAXNotRecognizedException - 當底層 XMLReader 不能識別屬性名稱時。
SAXNotSupportedException - 當底層 XMLReader 可以識別屬性名稱,但不支持該屬性時。
另請參見:
XMLReader.setProperty(java.lang.String, java.lang.Object)

getProperty

public abstract Object getProperty(String name)
                            throws SAXNotRecognizedException,
                                   SAXNotSupportedException

返回 XMLReader 的底層實作中請求的特定屬性。

參數:
name - 要檢索的屬性的名稱。
返回:
所請求屬性的值。
拋出:
SAXNotRecognizedException - 當底層 XMLReader 不能識別屬性名稱時。
SAXNotSupportedException - 當底層 XMLReader 可以識別屬性名稱,但不支持該屬性時。
另請參見:
XMLReader.getProperty(java.lang.String)

getSchema

public Schema getSchema()

獲取對 XML 處理器使用的 Schema 的參考。

如果沒有使用 schema,則返回 null

返回:
返回正在使用的 Schema,如果一個也沒有使用,則返回 null
拋出:
UnsupportedOperationException - 當該實作沒有覆寫此方法時
從以下版本開始:
1.5

isXIncludeAware

public boolean isXIncludeAware()

獲取此解析器的 XInclude 處理網要。

返回:
當從處理器創建此解析器時,返回 SAXParserFactory.isXIncludeAware() 的返回值。
拋出:
UnsupportedOperationException - 當該實作沒有覆寫此方法時
從以下版本開始:
1.5
另請參見:
SAXParserFactory.setXIncludeAware(boolean)

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only