Класс SAXParser
public abstract class SAXParser extends Object
XMLReader. В JAXP 1.0 этот класс предоставлял оболочку для интерфейса Parser, однако этот интерфейс был заменён на XMLReader. Для упрощения перехода этот класс продолжает поддерживать прежнее имя и интерфейс, а также новые методы. Экземпляр этого класса можно получить с помощью метода SAXParserFactory.newSAXParser(). После получения экземпляра этого класса XML можно анализировать из различных источников ввода. К таким источникам относятся потоки ввода, файлы, URL-адреса и источники ввода SAX.Этот статический метод создаёт новый экземпляр фабрики на основе значения системного свойства или использует платформенное значение по умолчанию, если свойство не задано.
Системное свойство, управляющее выбором реализации фабрики, называется "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 будет иметь тот же 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.xml/javax/xml/parsers/SAXParser.html