Класс SAXParser
public abstract class SAXParser extends Object
XMLReader. В JAXP 1.0 этот класс оборачивал интерфейс Parser, однако этот интерфейс был заменён на XMLReader. Для простоты перехода этот класс продолжает поддерживать то же имя и интерфейс, а также новые методы. Экземпляр этого класса можно получить из метода SAXParserFactory.newSAXParser(). После получения экземпляра этого класса XML можно парсить из различных источников ввода. Эти источники ввода — InputStream, файлы, URL и SAX InputSource.Этот статический метод создаёт новый экземпляр фабрики на основе системной переменной или использует платформенный стандарт, если такая переменная не определена.
Системная переменная, которая контролирует создание реализации фабрики, называется "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.
- ИСКЛЮЧЕНИЯ:
-
UnsupportedOperationException- Когда реализации не переопределяют этот метод - С:
- 1.5
parse
public void parse(InputStream is, HandlerBase hb) throws SAXException, IOException
Обработать содержимое данного InputStream объекта как XML с использованием указанного HandlerBase. Рекомендуется использовать версию метода DefaultHandler, так как класс HandlerBase устарел в SAX 2.0.
- Параметры:
-
is- Поток ввода, содержащий содержимое, подлежащее обработке. -
hb- SAX HandlerBase для использования. - ИСКЛЮЧЕНИЯ:
-
IllegalArgumentException- Если предоставленный InputStream имеет значение null. -
SAXException- Если обработка вызывает ошибку SAX. -
IOException- Если возникает ошибка ввода-вывода при взаимодействии сInputStream. - См. также:
parse
public void parse(InputStream is, HandlerBase hb, String systemId) throws SAXException, IOException
Обработать содержимое данного InputStream объекта как XML с использованием указанного HandlerBase. Рекомендуется использовать версию метода DefaultHandler, так как класс HandlerBase устарел в SAX 2.0.
- Параметры:
-
is- Поток ввода, содержащий содержимое, подлежащее обработке. -
hb- SAX HandlerBase для использования. -
systemId- systemId, необходимый для разрешения относительных URI. - ИСКЛЮЧЕНИЯ:
-
IllegalArgumentException- Если предоставленныйInputStreamимеет значениеnull. -
IOException- Если возникают ошибки ввода-вывода при взаимодействии сInputStream. -
SAXException- Если возникают ошибки SAX во время обработки. - См. также:
parse
public void parse(InputStream is, DefaultHandler dh) throws SAXException, IOException
InputStream объекта как XML с использованием указанного DefaultHandler.- Параметры:
-
is- Поток ввода, содержащий содержимое, подлежащее обработке. -
dh- SAX DefaultHandler для использования. - ИСКЛЮЧЕНИЯ:
-
IllegalArgumentException- Если предоставленный InputStream имеет значение null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если возникают ошибки SAX во время обработки. - См. также:
parse
public void parse(InputStream is, DefaultHandler dh, String systemId) throws SAXException, IOException
InputStream объекта как XML с использованием указанного DefaultHandler.- Параметры:
-
is- Поток ввода, содержащий содержимое, подлежащее обработке. -
dh- SAX DefaultHandler для использования. -
systemId- systemId, необходимый для разрешения относительных URI. - ИСКЛЮЧЕНИЯ:
-
IllegalArgumentException- Если предоставленный InputStream имеет значение null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если возникают ошибки SAX во время обработки. - См. также:
parse
public void parse(String uri, HandlerBase hb) throws SAXException, IOException
HandlerBase. Рекомендуется использовать версию метода DefaultHandler, так как класс HandlerBase устарел в SAX 2.0
- Параметры:
-
uri- Расположение содержимого, подлежащего обработке. -
hb- SAX HandlerBase для использования. - ИСКЛЮЧЕНИЯ:
-
IllegalArgumentException- Если uri имеет значение null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если возникают ошибки SAX во время обработки. - См. также:
parse
public void parse(String uri, DefaultHandler dh) throws SAXException, IOException
DefaultHandler.- Параметры:
-
uri- Расположение содержимого, подлежащего обработке. -
dh- SAX DefaultHandler для использования. - ИСКЛЮЧЕНИЯ:
-
IllegalArgumentException- Если uri имеет значение null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если возникают ошибки SAX во время обработки. - См. также:
parse
public void parse(File f, HandlerBase hb) throws SAXException, IOException
HandlerBase. Рекомендуется использовать версию метода DefaultHandler, так как класс HandlerBase устарел в SAX 2.0
- Параметры:
-
f- Файл, содержащий XML для обработки -
hb- SAX HandlerBase для использования. - ИСКЛЮЧЕНИЯ:
-
IllegalArgumentException- Если объект File имеет значение null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если возникают ошибки SAX во время обработки. - См. также:
parse
public void parse(File f, DefaultHandler dh) throws SAXException, IOException
DefaultHandler.- Параметры:
-
f- Файл, содержащий XML для обработки -
dh- SAX DefaultHandler для использования. - ИСКЛЮЧЕНИЯ:
-
IllegalArgumentException- Если объект File имеет значение null. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если возникают ошибки SAX во время обработки. - См. также:
parse
public void parse(InputSource is, HandlerBase hb) throws SAXException, IOException
InputSource как XML с использованием указанного HandlerBase. Рекомендуется использовать версию метода DefaultHandler, так как класс HandlerBase устарел в SAX 2.0
- Параметры:
-
is- InputSource, содержащий содержимое, подлежащее обработке. -
hb- SAX HandlerBase для использования. - ИСКЛЮЧЕНИЯ:
-
IllegalArgumentException- Если объектInputSourceимеет значениеnull. -
IOException- Если возникают ошибки ввода-вывода. -
SAXException- Если возникают ошибки SAX во время обработки. - См. также:
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. - См. также:
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 распознаёт имя свойства, но не поддерживает свойство. - См. также:
getProperty
public abstract Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Возвращает запрашиваемое свойство в базовой реализации XMLReader.
- Parameters:
-
name- Имя свойства, подлежащего извлечению. - Returns:
- Значение запрошенного свойства.
- Throws:
-
SAXNotRecognizedException- Если базовый XMLReader не распознаёт имя свойства. -
SAXNotSupportedException- Если базовый XMLReader распознаёт имя свойства, но не поддерживает свойство. - См. также:
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
- См. также:
© 1993, 2021, 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://docs.oracle.com/en/java/javase/17/docs/api/java.xml/javax/xml/parsers/SAXParser.html