Интерфейс Parser
- Все известные реализующие классы:
XMLReaderAdapter
@Deprecated(since="1.5") public interface Parser
Это был основной интерфейс поставщика событий для SAX1; он был заменён в SAX2 интерфейсом XMLReader, который включает поддержку пространств имён и сложную конфигурируемость и расширяемость.
Все парсеры SAX1 должны реализовывать этот базовый интерфейс: он позволяет приложениям регистрировать обработчики для различных типов событий и инициировать разбор из URI или потока символов.
Все парсеры SAX1 также должны реализовывать конструктор без аргументов (хотя другие конструкторы также допускаются).
Парсеры SAX1 являются многократно используемыми, но не многопоточными: приложение может повторно использовать объект парсера (возможно, с другим источником ввода) после успешного завершения первого разбора, но не может вызывать методы parse() рекурсивно в рамках разбора.
- С:
- 1.4, SAX 1.0
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
parse |
Устаревший. Разбор XML-документа по идентификатору системы (URI). |
void |
parse |
Устаревший. Разбор XML-документа. |
void |
setDocumentHandler |
Устаревший. Регистрация обработчика событий документа приложения. |
void |
setDTDHandler |
Устаревший. Регистрация обработчика событий DTD приложения. |
void |
setEntityResolver |
Устаревший. Регистрация пользовательского обработчика разрешения сущностей. |
void |
setErrorHandler |
Устаревший. Регистрация обработчика событий ошибок приложения. |
void |
setLocale |
Устаревший. Запрос локали для ошибок и предупреждений приложения. |
Подробное описание методов
setLocale
void setLocale(Locale locale) throws SAXException
SAX-парсеры не обязаны обеспечивать локализованные сообщения для ошибок и предупреждений; если они не поддерживают запрошенную локаль, они должны выбросить исключение SAX. Приложения не могут запросить изменение локали в процессе разбора.
- Параметры:
-
locale- Объект Java Locale. - Исключения:
-
SAXException- Выбрасывает исключение (используя предыдущую или по умолчанию локаль), если запрошенная локаль не поддерживается. - См. также:
setEntityResolver
void setEntityResolver(EntityResolver resolver)
Если приложение не регистрирует обработчик сущностей, SAX-парсер сам будет разрешать идентификаторы систем и открывать соединения к сущностям (это поведение по умолчанию, реализованное в HandlerBase).
Приложения могут зарегистрировать новый или другой обработчик сущностей в процессе разбора, и SAX-парсер должен немедленно начать использовать новый обработчик.
- Параметры:
-
resolver- Объект для разрешения сущностей. - См. также:
setDTDHandler
void setDTDHandler(DTDHandler handler)
Если приложение не регистрирует обработчик DTD, все события DTD, сообщаемые SAX-парсером, будут игнорироваться (это поведение по умолчанию, реализованное в HandlerBase).
Приложения могут зарегистрировать новый или другой обработчик в процессе разбора, и SAX-парсер должен немедленно начать использовать новый обработчик.
- Параметры:
-
handler- Обработчик DTD. - См. также:
setDocumentHandler
void setDocumentHandler(DocumentHandler handler)
Если приложение не регистрирует обработчик документов, все события документов, сообщаемые SAX-парсером, будут игнорироваться (это поведение по умолчанию, реализованное в HandlerBase).
Приложения могут зарегистрировать новый или другой обработчик в процессе разбора, и SAX-парсер должен немедленно начать использовать новый обработчик.
- Параметры:
-
handler- Обработчик документов. - См. также:
setErrorHandler
void setErrorHandler(ErrorHandler handler)
Если приложение не регистрирует обработчик ошибок, все события ошибок, сообщаемые SAX-парсером, будут игнорироваться, за исключением fatalError, который выбросит SAXException (это поведение по умолчанию, реализованное в HandlerBase).
Приложения могут зарегистрировать новый или другой обработчик в процессе разбора, и SAX-парсер должен немедленно начать использовать новый обработчик.
- Параметры:
-
handler- Обработчик ошибок. - См. также:
parse
void parse(InputSource source) throws SAXException, IOException
Приложение может использовать этот метод, чтобы указать SAX-парсеру начать разбор XML-документа из любого допустимого источника ввода (потока символов, потока байтов или URI).
Приложения не могут вызывать этот метод во время разбора (для каждого дополнительного XML-документа следует создать новый Parser). После завершения разбора приложение может повторно использовать тот же объект Parser, возможно, с другим источником ввода.
- Параметры:
-
source- Источник ввода для верхнего уровня XML-документа. - Исключения:
-
SAXException- Любое исключение SAX, возможно, обертывающее другое исключение. -
IOException- Исключение ввода-вывода от парсера, возможно, из потока байтов или потока символов, предоставленного приложением. - См. также:
parse
void parse(String systemId) throws SAXException, IOException
Этот метод является сокращением для общего случая чтения документа по идентификатору системы. Он точно эквивалентен следующему:
parse(new InputSource(systemId));
Если идентификатор системы является URL, он должен быть полностью разрешен приложением перед передачей парсеру.
- Параметры:
-
systemId- Идентификатор системы (URI). - Исключения:
-
SAXException- Любое исключение SAX, возможно, обертывающее другое исключение. -
IOException- Исключение ввода-вывода от парсера, возможно, из потока байтов или потока символов, предоставленного приложением. - См. также:
© 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/org/xml/sax/Parser.html
XMLReader, который включает поддержку пространств имён.