Интерфейс XMLEventWriter
- Все суперинтерфейсы:
XMLEventConsumer
public interface XMLEventWriter extends XMLEventConsumer
Это интерфейс верхнего уровня для записи XML-документов. Экземпляры этого интерфейса не обязаны проверять корректность формы XML.
- С версии:
- 1.6
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
add |
Добавляет событие в выходной поток. Добавление START_ELEMENT открывает новую область пространства имён, которая будет закрыта при записи соответствующего END_ELEMENT. |
void |
add |
Добавляет целый поток в выходной поток, вызывая next() для аргумента inputStream, пока hasNext() не вернёт false. Этот метод следует рассматривать как удобный способ выполнения следующего цикла по всем событиям в считывателе событий с вызовом add для каждого события. |
void |
close() |
Освобождает все ресурсы, связанные с этим потоком |
void |
flush() |
Записывает все кэшированные события в базовый механизм вывода |
NamespaceContext |
getNamespaceContext() |
Возвращает текущий контекст пространства имён. |
String |
getPrefix |
Возвращает префикс, связанный с URI |
void |
setDefaultNamespace |
Связывает URI с пространством имён по умолчанию. Этот URI связывается в области текущей пары START_ELEMENT / END_ELEMENT. |
void |
setNamespaceContext |
Задаёт текущий контекст пространства имён для связей префиксов и URI. |
void |
setPrefix |
Задаёт префикс, связанный с URI. |
Подробное описание методов
flush
void flush() throws XMLStreamException
Записывает все кэшированные события в базовый механизм вывода
- Выбрасывает:
-
XMLStreamException— если произошла ошибка
close
void close() throws XMLStreamException
Освобождает все ресурсы, связанные с этим потоком
- Выбрасывает:
-
XMLStreamException— если произошла ошибка
add
void add(XMLEvent event) throws XMLStreamException
Добавляет событие в выходной поток. Добавление START_ELEMENT открывает новую область пространства имён, которая будет закрыта при записи соответствующего END_ELEMENT.
| Тип события | Обязательные поля | Необязательные поля | Требуемое поведение |
|---|---|---|---|
| START_ELEMENT | QName name | namespaces , attributes | START_ELEMENT записывается путём записи имени, пространств имён и атрибутов события в синтаксисе XML 1.0, допустимом для START_ELEMENT. Имя записывается посредством поиска префикса для URI пространства имён. Средство записи можно настроить так, чтобы оно учитывало префиксы QName. Если средство записи учитывает префиксы, оно должно использовать префикс, заданный в QName. По умолчанию значение префикса ищется во внутреннем контексте пространства имён EventWriter. Каждый атрибут (если он есть) записывается в соответствии с поведением, указанным в разделе таблицы, посвящённом атрибутам. Каждое пространство имён (если оно есть) записывается в соответствии с поведением, указанным в разделе таблицы, посвящённом пространствам имён. |
| END_ELEMENT | Qname name | Нет | Записывается корректно сформированный тег END_ELEMENT. Имя записывается посредством поиска префикса для URI пространства имён. Средство записи можно настроить так, чтобы оно учитывало префиксы QName. Если средство записи учитывает префиксы, оно должно использовать префикс, заданный в QName. По умолчанию значение префикса ищется во внутреннем контексте пространства имён EventWriter. Если имя END_ELEMENT не совпадает с именем START_ELEMENT, возникает XMLStreamException. |
| ATTRIBUTE | QName name , String value | QName type | Атрибут записывается с использованием того же алгоритма определения лексической формы, что и для START_ELEMENT. По умолчанию значения атрибутов заключаются в двойные кавычки, а все двойные кавычки в значении экранируются. Значение type игнорируется. |
| NAMESPACE | String prefix, String namespaceURI, boolean isDefaultNamespaceDeclaration | Нет | Записывается объявление пространства имён. Если это объявление пространства имён по умолчанию (isDefault имеет значение true), записывается xmlns="$namespaceURI", а префикс является необязательным. Если isDefault имеет значение false, необходимо объявить префикс; средство записи должно добавить xmlns перед префиксом и записать стандартное объявление префикса. |
| PROCESSING_INSTRUCTION | Нет | String target, String data | Наличие данных необязательно, они могут иметь значение null. Целевой объект обязателен и не может иметь значение null. Средство записи записывает раздел данных непосредственно после целевого объекта, используя соответствующий синтаксис XML 1.0. |
| COMMENT | Нет | String comment | Если комментарий присутствует (не равен null), он записывается; в противном случае записывается пустой комментарий. |
| START_DOCUMENT | Нет | String encoding , boolean standalone, String version | Событие START_DOCUMENT не обязательно записывать в поток. Если оно присутствует, атрибуты записываются в соответствующем синтаксисе объявления XML. |
| END_DOCUMENT | Нет | Нет | В выходной поток ничего не записывается |
| DTD | String DocumentTypeDefinition | Нет | DocumentTypeDefinition записывается в выходной поток |
- Определён в:
-
addв интерфейсеXMLEventConsumer - Параметры:
-
event— добавляемое событие - Выбрасывает:
-
XMLStreamException— если произошла ошибка
add
void add(XMLEventReader reader) throws XMLStreamException
Добавляет целый поток в выходной поток, вызывая next() для аргумента inputStream, пока hasNext() не вернёт false. Этот метод следует рассматривать как удобный способ выполнения следующего цикла по всем событиям в считывателе событий с вызовом add для каждого события.
- Параметры:
-
reader— поток событий, добавляемый в выходной поток - Выбрасывает:
-
XMLStreamException— если произошла ошибка
getPrefix
String getPrefix(String uri) throws XMLStreamException
Возвращает префикс, связанный с URI
- Параметры:
-
uri— URI для поиска - Возвращает:
- префикс
- Выбрасывает:
-
XMLStreamException— если произошла ошибка
setPrefix
void setPrefix(String prefix, String uri) throws XMLStreamException
Задаёт префикс, связанный с URI. Этот префикс связывается в области текущей пары START_ELEMENT / END_ELEMENT. Если этот метод вызван до записи START_ELEMENT, префикс связывается в корневой области.
- Параметры:
-
prefix— префикс, связываемый с URI -
uri— URI, связываемый с префиксом - Выбрасывает:
-
XMLStreamException— если произошла ошибка
setDefaultNamespace
void setDefaultNamespace(String uri) throws XMLStreamException
Связывает URI с пространством имён по умолчанию. Этот URI связывается в области текущей пары START_ELEMENT / END_ELEMENT. Если этот метод вызван до записи START_ELEMENT, URI связывается в корневой области.
- Параметры:
-
uri— URI, связываемый с пространством имён по умолчанию - Выбрасывает:
-
XMLStreamException— если произошла ошибка
setNamespaceContext
void setNamespaceContext(NamespaceContext context) throws XMLStreamException
Задаёт текущий контекст пространства имён для связей префиксов и URI. Этот контекст становится корневым контекстом пространства имён для записи и заменяет текущий корневой контекст пространства имён. Последующие вызовы setPrefix и setDefaultNamespace будут связывать пространства имён, используя переданный методу контекст как корневой контекст для разрешения пространств имён.
- Параметры:
-
context— контекст пространства имён, используемый этим средством записи - Выбрасывает:
-
XMLStreamException— если произошла ошибка
getNamespaceContext
NamespaceContext getNamespaceContext()
Возвращает текущий контекст пространства имён.
- Возвращает:
- текущий контекст пространства имён
© 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/stream/XMLEventWriter.html