Spec-Zone.ru › OpenJDK 27

Класс SAXParser

java.lang.Object
javax.xml.parsers.SAXParser
public abstract class SAXParser extends Object
Определяет API, оборачивающий класс реализации XMLReader. В JAXP 1.0 этот класс оборачивал интерфейс Parser, однако этот интерфейс был заменён на XMLReader. Для удобства перехода этот класс продолжает поддерживать то же имя и интерфейс, а также новые методы. Экземпляр этого класса можно получить с помощью метода SAXParserFactory.newSAXParser(). Получив экземпляр этого класса, можно выполнять синтаксический разбор XML из различных источников ввода. К ним относятся InputStream, файлы, URL и SAX InputSource.

Этот статический метод создаёт новый экземпляр фабрики на основе значения системного свойства или использует платформенное значение по умолчанию, если свойство не задано.

Системное свойство, определяющее, какую реализацию Factory следует создать, называется "javax.xml.parsers.SAXParserFactory". Это свойство задаёт класс, являющийся конкретным подклассом данного абстрактного класса. Если свойство не задано, используется платформенная реализация по умолчанию.

По мере обработки содержимого базовым анализатором вызываются методы указанного HandlerBase или DefaultHandler.

Реализующие этот класс разработчики, оборачивающие базовую реализацию, могут рассмотреть возможность использования класса ParserAdapter для адаптации своей реализации SAX1 к работе с этим обновлённым классом.

Начиная с версии:
1.4

Краткое описание конструкторов

SAXParser()
Модификатор Конструктор Описание
protected
Защищённый конструктор, предотвращающий создание экземпляров.

Краткое описание методов

Модификатор и тип Метод Описание
abstract Parser getParser()
Возвращает SAX-анализатор, инкапсулированный реализацией этого класса.
abstract Object getProperty(String name)
Возвращает запрошенное свойство базовой реализации XMLReader.
Schema getSchema()
Получает ссылку на Schema, используемую XML-процессором.
abstract XMLReader getXMLReader()
Возвращает XMLReader, инкапсулированный реализацией этого класса.
abstract boolean isNamespaceAware()
Показывает, настроен ли этот анализатор на распознавание пространств имён.
abstract boolean isValidating()
Показывает, настроен ли этот анализатор на проверку XML-документов.
boolean isXIncludeAware()
Получает режим обработки XInclude для этого анализатора.
void parse(File f, HandlerBase hb)
Выполняет синтаксический разбор указанного файла как XML с использованием указанного HandlerBase.
void parse(File f, DefaultHandler dh)
Выполняет синтаксический разбор указанного файла как XML с использованием указанного DefaultHandler.
void parse(InputStream is, HandlerBase hb)
Выполняет синтаксический разбор содержимого экземпляра InputStream как XML с использованием указанного HandlerBase.
void parse(InputStream is, HandlerBase hb, String systemId)
Выполняет синтаксический разбор содержимого экземпляра InputStream как XML с использованием указанного HandlerBase.
void parse(InputStream is, DefaultHandler dh)
Выполняет синтаксический разбор содержимого экземпляра InputStream как XML с использованием указанного DefaultHandler.
void parse(InputStream is, DefaultHandler dh, String systemId)
Выполняет синтаксический разбор содержимого экземпляра InputStream как XML с использованием указанного DefaultHandler.
void parse(String uri, HandlerBase hb)
Выполняет синтаксический разбор содержимого, указанного с помощью универсального идентификатора ресурса (URI), как XML с использованием указанного HandlerBase.
void parse(String uri, DefaultHandler dh)
Выполняет синтаксический разбор содержимого, указанного с помощью универсального идентификатора ресурса (URI), как XML с использованием указанного DefaultHandler.
void parse(InputSource is, HandlerBase hb)
Выполняет синтаксический разбор содержимого InputSource как XML с использованием указанного HandlerBase.
void parse(InputSource is, DefaultHandler dh)
Выполняет синтаксический разбор содержимого InputSource как XML с использованием указанного DefaultHandler.
void reset()
Сбрасывает этот SAXParser до исходной конфигурации.
abstract void setProperty(String name, Object value)
Устанавливает указанное свойство в базовой реализации XMLReader.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация устарела и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает выполнение текущего потока до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

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 возникает ошибка ввода-вывода.
См. также:
  • DocumentHandler

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.
См. также:
  • DocumentHandler

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
Выполняет синтаксический разбор содержимого, указанного с помощью универсального идентификатора ресурса (URI), как XML с использованием указанного HandlerBase. Рекомендуется использовать вариант этого метода с DefaultHandler, поскольку класс HandlerBase объявлен устаревшим в SAX 2.0
Параметры:
uri — расположение содержимого для синтаксического разбора.
hb — SAX HandlerBase, который следует использовать.
Выбрасывает:
IllegalArgumentException — если uri равен null.
IOException — если возникает ошибка ввода-вывода.
SAXException — если во время обработки возникают ошибки SAX.
См. также:
  • DocumentHandler

parse

public void parse(String uri, DefaultHandler dh) throws SAXException, IOException
Выполняет синтаксический разбор содержимого, указанного с помощью универсального идентификатора ресурса (URI), как XML с использованием указанного DefaultHandler.
Параметры:
uri — расположение содержимого для синтаксического разбора.
dh — SAX DefaultHandler, который следует использовать.
Выбрасывает:
IllegalArgumentException — если uri равен null.
IOException — если возникает ошибка ввода-вывода.
SAXException — если во время обработки возникают ошибки SAX.
См. также:
  • DocumentHandler

parse

public void parse(File f, HandlerBase hb) throws SAXException, IOException
Выполняет синтаксический разбор указанного файла как XML с использованием указанного HandlerBase. Рекомендуется использовать вариант этого метода с DefaultHandler, поскольку класс HandlerBase объявлен устаревшим в SAX 2.0
Параметры:
f — файл, содержащий XML для синтаксического разбора
hb — SAX HandlerBase, который следует использовать.
Выбрасывает:
IllegalArgumentException — если объект File равен null.
IOException — если возникает ошибка ввода-вывода.
SAXException — если во время обработки возникают ошибки SAX.
См. также:
  • DocumentHandler

parse

public void parse(File f, DefaultHandler dh) throws SAXException, IOException
Выполняет синтаксический разбор указанного файла как XML с использованием указанного DefaultHandler.
Параметры:
f — файл, содержащий XML для синтаксического разбора
dh — SAX DefaultHandler, который следует использовать.
Выбрасывает:
IllegalArgumentException — если объект File равен null.
IOException — если возникает ошибка ввода-вывода.
SAXException — если во время обработки возникают ошибки SAX.
См. также:
  • DocumentHandler

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.
См. также:
  • DocumentHandler

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.
См. также:
  • 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-документов.
Возвращает:
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 распознаёт имя свойства, но не поддерживает его.
См. также:
  • XMLReader.setProperty(String, Object)

getProperty

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

Возвращает запрошенное свойство базовой реализации XMLReader.

Параметры:
name — имя извлекаемого свойства.
Возвращает:
Значение запрошенного свойства.
Выбрасывает:
SAXNotRecognizedException — если базовый XMLReader не распознаёт имя свойства.
SAXNotSupportedException — если базовый XMLReader распознаёт имя свойства, но не поддерживает его.
См. также:
  • XMLReader.getProperty(String)

getSchema

public Schema getSchema()

Получает ссылку на Schema, используемую XML-процессором.

Если схема не используется, возвращается null.

Возвращает:
Schema, используемая схема, или null, если схема не используется
Выбрасывает:
UnsupportedOperationException — если реализация не переопределяет этот метод
Начиная с версии:
1.5

isXIncludeAware

public boolean isXIncludeAware()

Получает режим обработки XInclude для этого анализатора.

Возвращает:
значение, возвращаемое методом SAXParserFactory.isXIncludeAware() фабрики, из которой был создан этот анализатор.
Выбрасывает:
UnsupportedOperationException — если реализация не переопределяет этот метод
Начиная с версии:
1.5
См. также:
  • SAXParserFactory.setXIncludeAware(boolean)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065, США.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API