Класс SAXParser
public abstract class SAXParser extends Object
XMLReader. В JAXP 1.0 этот класс оборачивал интерфейс Parser, однако этот интерфейс был заменен на XMLReader. Для упрощения перехода этот класс продолжает поддерживать то же имя и интерфейс, а также поддерживает новые методы. Экземпляр этого класса можно получить с помощью метода SAXParserFactory.newSAXParser(). После получения экземпляра этого класса XML может быть разобран из различных источников ввода. Этими источниками ввода являются InputStreams, файлы, URL-адреса и SAX InputSources.Этот статический метод создает новый экземпляр фабрики на основе настройки свойства системы или использует значение по умолчанию для платформы, если свойство не определено.
Свойство системы, которое управляет тем, какая реализация Factory будет создана, называется "javax.xml.parsers.SAXParserFactory". Это свойство указывает на класс, который является конкретным подклассом этого абстрактного класса. Если свойство не определено, будет использовано значение по умолчанию для платформы.
HandlerBase или DefaultHandler. Реализаторы этого класса, которые оборачивают базовую реализацию, могут рассмотреть возможность использования класса ParserAdapter для начальной адаптации своей реализации SAX1 для работы в этом переработанном классе.
- С момента:
- 1.4
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Защищенный конструктор для предотвращения создания экземпляров. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Parser |
getParser() |
Возвращает анализатор SAX, инкапсулированный реализацией этого класса. |
abstract Object |
getProperty |
Возвращает запрашиваемое свойство в базовой реализации XMLReader. |
Schema |
getSchema() |
Получить ссылку на Schema, используемый XML-процессором. |
abstract XMLReader |
getXMLReader() |
Возвращает XMLReader, инкапсулированный реализацией этого класса. |
abstract boolean |
isNamespaceAware() |
Указывает, настроен ли этот анализатор на понимание пространств имен. |
abstract boolean |
isValidating() |
Указывает, настроен ли этот анализатор на проверку XML-документов. |
boolean |
isXIncludeAware() |
Получить режим обработки XInclude для этого анализатора. |
void |
parse |
Разбирает содержимое указанного файла как XML, используя указанный HandlerBase. |
void |
parse |
Разбирает содержимое указанного файла как XML, используя указанный DefaultHandler. |
void |
parse |
Разбирает содержимое заданного экземпляра InputStream как XML, используя указанный HandlerBase. |
void |
parse |
Разбирает содержимое заданного экземпляра InputStream как XML, используя указанный HandlerBase. |
void |
parse |
Разбирает содержимое заданного экземпляра InputStream как XML, используя указанный DefaultHandler. |
void |
parse |
Разбирает содержимое заданного экземпляра InputStream как XML, используя указанный DefaultHandler. |
void |
parse |
Разбирает содержимое, описанное универсальным кодом ресурса (URI), как XML, используя указанный HandlerBase. |
void |
parse |
Разбирает содержимое, описанное универсальным кодом ресурса (URI), как XML, используя указанный DefaultHandler. |
void |
parse |
Разбирает содержимое заданного InputSource как XML, используя указанный HandlerBase. |
void |
parse |
Разбирает содержимое заданного InputSource как XML, используя указанный DefaultHandler. |
void |
reset() |
Сбрасывает этот SAXParser к его исходной конфигурации. |
abstract void |
setProperty |
Устанавливает определенное свойство в базовой реализации XMLReader. |
Подробное описание конструкторов
SAXParser
protected SAXParser()
Защищённый конструктор для предотвращения создания экземпляров. Используйте SAXParserFactory.newSAXParser().
Подробное описание методов
reset
public void reset()
Сбросить данную SAXParser до её исходной конфигурации.
SAXParser сбрасывается в такое же состояние, как при создании с помощью SAXParserFactory.newSAXParser(). reset() предназначен для повторного использования существующих SAXParser, тем самым экономя ресурсы, связанные с созданием новых SAXParser.
Сброшенная SAXParser не гарантирует такое же Schema состояние Object, например, Object.equals(Object obj). Гарантируется функционально эквивалентное состояние Schema.
- Throws:
-
UnsupportedOperationException- Когда реализации не переопределяют этот метод - Since:
- 1.5
parse
public void parse(InputStream is, HandlerBase hb) throws SAXException, IOException
Обработать содержимое данного экземпляра InputStream как XML с использованием указанного HandlerBase. Рекомендуется использовать версию DefaultHandler этого метода, так как класс HandlerBase устарел в SAX 2.0.
- Parameters:
-
is- Поток ввода, содержащий данные для обработки. -
hb- Обработчик SAX HandlerBase для использования. - Throws:
-
IllegalArgumentException- Если переданный поток ввода null. -
SAXException- Если обработка вызывает ошибку SAX. -
IOException- Если возникает ошибка ввода-вывода при взаимодействии сInputStream. - See Also:
parse
public void parse(InputStream is, HandlerBase hb, String systemId) throws SAXException, IOException
Обработать содержимое данного экземпляра InputStream как XML с использованием указанного HandlerBase. Рекомендуется использовать версию DefaultHandler этого метода, так как класс HandlerBase устарел в SAX 2.0.
- Parameters:
-
is- Поток ввода, содержащий данные для обработки. -
hb- Обработчик SAX HandlerBase для использования. -
systemId- Идентификатор системы, необходимый для разрешения относительных URI. - Throws:
-
IllegalArgumentException- Если переданныйInputStreamравенnull. -
IOException- Если возникают ошибки ввода-вывода при взаимодействии сInputStream. -
SAXException- Если при обработке возникли ошибки SAX. - See Also:
parse
public void parse(InputStream is, DefaultHandler dh) throws SAXException, IOException
InputStream как XML с использованием указанного DefaultHandler.- Parameters:
-
is- Поток ввода, содержащий данные для обработки. -
dh- Обработчик SAX DefaultHandler для использования. - Throws:
-
IllegalArgumentException- Если переданный поток ввода null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если при обработке возникли ошибки SAX. - See Also:
parse
public void parse(InputStream is, DefaultHandler dh, String systemId) throws SAXException, IOException
InputStream как XML с использованием указанного DefaultHandler.- Parameters:
-
is- Поток ввода, содержащий данные для обработки. -
dh- Обработчик SAX DefaultHandler для использования. -
systemId- Идентификатор системы, необходимый для разрешения относительных URI. - Throws:
-
IllegalArgumentException- Если переданный поток ввода null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если при обработке возникли ошибки SAX. - See Also:
parse
public void parse(String uri, HandlerBase hb) throws SAXException, IOException
HandlerBase. Рекомендуется использовать версию DefaultHandler этого метода, так как класс HandlerBase устарел в SAX 2.0
- Parameters:
-
uri- Расположение данных для обработки. -
hb- Обработчик SAX HandlerBase для использования. - Throws:
-
IllegalArgumentException- Если uri равен null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если при обработке возникли ошибки SAX. - See Also:
parse
public void parse(String uri, DefaultHandler dh) throws SAXException, IOException
DefaultHandler.- Parameters:
-
uri- Расположение данных для обработки. -
dh- Обработчик SAX DefaultHandler для использования. - Throws:
-
IllegalArgumentException- Если uri равен null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если при обработке возникли ошибки SAX. - See Also:
parse
public void parse(File f, HandlerBase hb) throws SAXException, IOException
HandlerBase. Рекомендуется использовать версию DefaultHandler этого метода, так как класс HandlerBase устарел в SAX 2.0
- Parameters:
-
f- Файл, содержащий XML для обработки -
hb- Обработчик SAX HandlerBase для использования. - Throws:
-
IllegalArgumentException- Если объект File равен null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если при обработке возникли ошибки SAX. - See Also:
parse
public void parse(File f, DefaultHandler dh) throws SAXException, IOException
DefaultHandler.- Parameters:
-
f- Файл, содержащий XML для обработки -
dh- Обработчик SAX DefaultHandler для использования. - Throws:
-
IllegalArgumentException- Если объект File равен null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если при обработке возникли ошибки SAX. - See Also:
parse
public void parse(InputSource is, HandlerBase hb) throws SAXException, IOException
InputSource как XML с использованием указанного HandlerBase. Рекомендуется использовать версию этого метода DefaultHandler, так как класс HandlerBase устарел в SAX 2.0
- Parameters:
-
is- InputSource, содержащий содержимое для обработки. -
hb- SAX HandlerBase для использования. - Throws:
-
IllegalArgumentException- Если объектInputSourceявляетсяnull. -
IOException- Если возникли ошибки ввода-вывода. -
SAXException- Если при обработке возникли ошибки SAX. - See Also:
parse
public void parse(InputSource is, DefaultHandler dh) throws SAXException, IOException
InputSource как XML с использованием указанного DefaultHandler.- Parameters:
-
is- InputSource, содержащий содержимое для обработки. -
dh- SAX DefaultHandler для использования. - Throws:
-
IllegalArgumentException- Если объектInputSourceявляетсяnull. -
IOException- Если возникли ошибки ввода-вывода. -
SAXException- Если при обработке возникли ошибки SAX. - See Also:
getParser
public abstract Parser getParser() throws SAXException
- Returns:
- SAX-парсер, инкапсулированный реализацией этого класса.
- Throws:
-
SAXException- Если при обработке возникли ошибки SAX.
getXMLReader
public abstract XMLReader getXMLReader() throws SAXException
XMLReader, инкапсулированный реализацией этого класса.- Returns:
- XMLReader, инкапсулированный реализацией этого класса.
- Throws:
-
SAXException- Если при обработке возникли ошибки SAX.
isNamespaceAware
public abstract boolean isNamespaceAware()
- Returns:
- true, если этот парсер поддерживает пространства имён; false в противном случае.
isValidating
public abstract boolean isValidating()
- Returns:
- true, если этот парсер настроен на проверку XML-документов; false в противном случае.
setProperty
public abstract void setProperty(String name, Object value) throws SAXNotRecognizedException, SAXNotSupportedException
Устанавливает определённое свойство в базовой реализации XMLReader. Список основных функций и свойств можно найти по адресу http://sax.sourceforge.net/?selected=get-set.
Все реализации, реализующие JAXP 1.5 или более позднюю версию, обязаны поддерживать свойства XMLConstants.ACCESS_EXTERNAL_DTD и XMLConstants.ACCESS_EXTERNAL_SCHEMA.
-
Установка свойства
XMLConstants.ACCESS_EXTERNAL_DTDограничивает доступ к внешним DTD, внешним ссылкам сущностей протоколами, указанными в свойстве. Если доступ запрещён во время разбора из-за ограничения этого свойства,SAXExceptionбудет выброшен методами разбора, определённымиSAXParser.Установка свойства
XMLConstants.ACCESS_EXTERNAL_SCHEMAограничивает доступ к внешним схемам, заданным атрибутом schemaLocation, протоколами, указанными в свойстве. Если доступ запрещён во время разбора из-за ограничения этого свойства,SAXExceptionбудет выброшен методами разбора, определённымиSAXParser.
- Parameters:
-
name- Имя свойства, которое нужно установить. -
value- Значение свойства, которое нужно установить. - Throws:
-
SAXNotRecognizedException- Когда базовый XMLReader не распознаёт имя свойства. -
SAXNotSupportedException- Когда базовый XMLReader распознаёт имя свойства, но не поддерживает свойство. - See Also:
getProperty
public abstract Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Возвращает запрашиваемое свойство в базовой реализации XMLReader.
- Parameters:
-
name- Имя свойства, которое нужно получить. - Returns:
- Значение запрошенного свойства.
- Throws:
-
SAXNotRecognizedException- Когда базовый XMLReader не распознаёт имя свойства. -
SAXNotSupportedException- Когда базовый XMLReader распознаёт имя свойства, но не поддерживает свойство. - See Also:
getSchema
public Schema getSchema()
Получить ссылку на Schema, используемый XML-процессором.
Если схема не используется, возвращается null.
- Returns:
-
Schema, используемая, илиnull, если не используется - Throws:
-
UnsupportedOperationException- Когда реализация не переопределяет этот метод - Since:
- 1.5
isXIncludeAware
public boolean isXIncludeAware()
Получить режим обработки XInclude для этого парсера.
- Returns:
- значение возвращаемое
SAXParserFactory.isXIncludeAware(), когда этот парсер был создан из фабрики. - Throws:
-
UnsupportedOperationException- Когда реализация не переопределяет этот метод - Since:
- 1.5
- See Also:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.xml/javax/xml/parsers/SAXParser.html