Класс SAXParser
public abstract class SAXParser extends Object
XMLReader. В JAXP 1.0 этот класс оборачивал интерфейс Parser, однако этот интерфейс был заменён на XMLReader. Для удобства перехода этот класс продолжает поддерживать то же имя и интерфейс, а также новые методы. Экземпляр этого класса можно получить с помощью метода SAXParserFactory.newSAXParser(). Получив экземпляр этого класса, можно выполнять синтаксический разбор XML из различных источников ввода. К ним относятся InputStream, файлы, URL и SAX InputSource.Этот статический метод создаёт новый экземпляр фабрики на основе значения системного свойства или использует платформенное значение по умолчанию, если свойство не задано.
Системное свойство, определяющее, какую реализацию 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. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание конструкторов
SAXParser
protected SAXParser()
Защищённый конструктор, предотвращающий создание экземпляров. Используйте SAXParserFactory.newSAXParser().
Подробное описание методов
reset
public void reset()
Сбрасывает этот SAXParser до исходной конфигурации.
SAXParser возвращается в то же состояние, в котором находился при создании с помощью SAXParserFactory.newSAXParser(). Метод reset() позволяет повторно использовать существующие SAXParser, экономя ресурсы, связанные с созданием новых SAXParser.
Не гарантируется, что сброшенный SAXParser будет иметь тот же Object Schema, например, 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— InputStream, содержащий данные для синтаксического разбора. -
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— InputStream, содержащий данные для синтаксического разбора. -
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— InputStream, содержащий данные для синтаксического разбора. -
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— InputStream, содержащий данные для синтаксического разбора. -
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.- Параметры:
-
is— InputSource, содержащий данные для синтаксического разбора. -
dh— SAX DefaultHandler, который следует использовать. - Выбрасывает:
-
IllegalArgumentException— если объектInputSourceравенnull. -
IOException— если возникает ошибка ввода-вывода. -
SAXException— если во время обработки возникают ошибки SAX. - См. также:
getParser
public abstract Parser getParser() throws SAXException
- Возвращает:
- 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()
- Возвращает:
- 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 и внешним ссылкам на сущности протоколами, указанными в этом свойстве. Если доступ запрещён во время синтаксического разбора из-за ограничения, заданного этим свойством, методы разбора, определённые вSAXParser, выбрасываютSAXException.Установка свойства
XMLConstants.ACCESS_EXTERNAL_SCHEMAограничивает доступ к внешним схемам, заданным атрибутом schemaLocation, протоколами, указанными в этом свойстве. Если доступ запрещён во время синтаксического разбора из-за ограничения, заданного этим свойством, методы разбора, определённые вSAXParser, выбрасываютSAXException.
- Параметры:
-
name— имя устанавливаемого свойства. -
value— значение устанавливаемого свойства. - Выбрасывает:
-
SAXNotRecognizedException— если базовый XMLReader не распознаёт имя свойства. -
SAXNotSupportedException— если базовый XMLReader распознаёт имя свойства, но не поддерживает его. - См. также:
getProperty
public abstract Object getProperty(String name) throws SAXNotRecognizedException, SAXNotSupportedException
Возвращает запрошенное свойство базовой реализации XMLReader.
- Параметры:
-
name— имя извлекаемого свойства. - Возвращает:
- Значение запрошенного свойства.
- Выбрасывает:
-
SAXNotRecognizedException— если базовый XMLReader не распознаёт имя свойства. -
SAXNotSupportedException— если базовый XMLReader распознаёт имя свойства, но не поддерживает его. - См. также:
getSchema
public Schema getSchema()
Получает ссылку на Schema, используемую XML-процессором.
Если схема не используется, возвращается null.
- Возвращает:
-
Schema, используемая схема, илиnull, если схема не используется - Выбрасывает:
-
UnsupportedOperationException— если реализация не переопределяет этот метод - Начиная с версии:
- 1.5
isXIncludeAware
public boolean isXIncludeAware()
Получает режим обработки XInclude для этого анализатора.
- Возвращает:
- значение, возвращаемое методом
SAXParserFactory.isXIncludeAware()фабрики, из которой был создан этот анализатор. - Выбрасывает:
-
UnsupportedOperationException— если реализация не переопределяет этот метод - Начиная с версии:
- 1.5
- См. также:
© 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.