Класс 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 InputSources.
Этот статический метод создаёт новый экземпляр фабрики на основе системного свойства или использует платформенное значение по умолчанию, если свойство не определено.
Системное свойство, которое управляет тем, какую реализацию фабрики создать, называется "javax.xml.parsers.SAXParserFactory". Это свойство задаёт имя класса, являющегося конкретным подклассом этого абстрактного класса. Если свойство не определено, будет использовано платформенное значение по умолчанию.
HandlerBase или DefaultHandler. Реализаторы этого класса, которые оборачивают реализацию на нижнем уровне, могут рассмотреть возможность использования класса ParserAdapter для начальной адаптации реализации SAX1 для работы под этим пересмотренным классом.
- Since:
- 1.4
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected | SAXParser() | Защищённый конструктор для предотвращения создания экземпляров. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
abstract Parser | getParser() | Возвращает SAX-парсер, который инкапсулирован реализацией данного класса. |
abstract Object | getProperty(String name) | Возвращает запрашиваемое свойство в реализации |
Schema | getSchema() | Получает ссылку на используемую схемой |
abstract XMLReader | getXMLReader() | Возвращает |
abstract boolean | isNamespaceAware() | Указывает, настроен ли этот парсер для понимания имен пространств имён. |
abstract boolean | isValidating() | Указывает, настроен ли этот парсер для проверки XML-документов. |
boolean | isXIncludeAware() | Получает режим обработки XInclude для этого парсера. |
void | parse(File f,
HandlerBase hb) | Анализирует содержимое указанного файла как XML, используя указанный |
void | parse(File f,
DefaultHandler dh) | Анализирует содержимое указанного файла как XML, используя указанный |
void | parse(InputStream is,
HandlerBase hb) | Анализирует содержимое данного экземпляра |
void | parse(InputStream is,
HandlerBase hb,
String systemId) | Анализирует содержимое данного экземпляра |
void | parse(InputStream is,
DefaultHandler dh) | Анализирует содержимое данного экземпляра |
void | parse(InputStream is,
DefaultHandler dh,
String systemId) | Анализирует содержимое данного экземпляра |
void | parse(String uri,
HandlerBase hb) | Анализирует содержимое, заданное универсальным идентификатором ресурса (URI), как XML, используя указанный |
void | parse(String uri,
DefaultHandler dh) | Анализирует содержимое, заданное универсальным идентификатором ресурса (URI), как XML, используя указанный |
void | parse(InputSource is,
HandlerBase hb) | Анализирует содержимое, заданное |
void | parse(InputSource is,
DefaultHandler dh) | Анализирует содержимое, заданное |
void | reset() | Сбрасывает этот |
abstract void | setProperty(String name,
Object value) | Задает конкретное свойство в реализации |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
SAXParser
protected SAXParser()
Защищённый конструктор для предотвращения создания экземпляров. Используйте SAXParserFactory.newSAXParser().
Методы
reset
public void reset()
Сбросить этот SAXParser к его исходной конфигурации.
SAXParser сбрасывается в то же состояние, что и при его создании с помощью SAXParserFactory.newSAXParser(). reset() предназначен для повторного использования существующих SAXParsers, тем самым экономя ресурсы, связанные с созданием новых SAXParsers.
Не гарантируется, что сброшенный 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- 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. - См. также:
version of this method instead.
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. - См. также:
version of this method instead.
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, внешним ссылкам на сущности протоколами, указанными в свойстве. Если доступ запрещён во время разбора из-за ограничения этого свойства,SAXExceptionбудет выброшен методами разбора, определённымиSAXParser.Установка свойства
XMLConstants.ACCESS_EXTERNAL_SCHEMAограничивает доступ к внешним схемам, заданным атрибутом schemaLocation, протоколами, указанными в свойстве. Если доступ запрещён во время разбора из-за ограничения этого свойства,SAXExceptionбудет выброшен методами разбора, определённымиSAXParser.
- Параметры:
-
name- Имя свойства, которое нужно установить. -
value- Значение свойства, которое нужно установить. - Исключения:
-
SAXNotRecognizedException- Когда базовый XMLReader не распознаёт имя свойства. -
SAXNotSupportedException- Когда базовый XMLReader распознаёт имя свойства, но не поддерживает это свойство. - См. также:
XMLReader.setProperty(java.lang.String, java.lang.Object)
getProperty
public abstract Object getProperty(String name)
throws SAXNotRecognizedException,
SAXNotSupportedException Возвращает определённое запрашиваемое свойство в базовой реализации XMLReader.
- Параметры:
-
name- Имя свойства, которое нужно получить. - Возвращает:
- Значение запрошенного свойства.
- Исключения:
-
SAXNotRecognizedException- Когда базовый XMLReader не распознаёт имя свойства. -
SAXNotSupportedException- Когда базовый XMLReader распознаёт имя свойства, но не поддерживает это свойство. - См. также:
XMLReader.getProperty(java.lang.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)
© 1993, 2020, 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/11/docs/api/java.xml/javax/xml/parsers/SAXParser.html