Интерфейс 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 пространства имён. Записыватель может быть настроен на соблюдение префиксов QNames. Если записыватель соблюдает префиксы, он должен использовать префикс, установленный в QName. По умолчанию используется поиск значения для префикса в контексте пространства имён внутреннего EventWriter. Каждый атрибут (если есть) записывается, используя поведение, указанное в разделе атрибутов этой таблицы. Каждое пространство имён (если есть) записывается, используя поведение, указанное в разделе пространства имён этой таблицы. |
| END_ELEMENT | Qname name | None | Записывается тег END_ELEMENT, соответствующий хорошо сформированному тегу. Имя записывается путём поиска префикса для URI пространства имён. Записыватель может быть настроен на соблюдение префиксов QNames. Если записыватель соблюдает префиксы, он должен использовать префикс, установленный в QName. По умолчанию используется поиск значения для префикса в контексте пространства имён внутреннего EventWriter. Если имя END_ELEMENT не совпадает с именем START_ELEMENT, выбрасывается XMLStreamException. |
| ATTRIBUTE | QName name , String value | QName type | Атрибут записывается, используя тот же алгоритм поиска лексической формы, что и в START_ELEMENT. По умолчанию используются двойные кавычки для обертывания значений атрибутов и для экранирования двойных кавычек, найденных в значении. Значение type игнорируется. |
| NAMESPACE | String prefix, String namespaceURI, boolean isDefaultNamespaceDeclaration | None | Записывается объявление пространства имён. Если пространство имён является объявлением пространства имён по умолчанию (isDefault равно true), то записывается xmlns="$namespaceURI", и префикс является необязательным. Если isDefault равно false, префикс должен быть объявлен, и записыватель должен добавить xmlns к префиксу и записать стандартное объявление префикса. |
| PROCESSING_INSTRUCTION | None | String target, String data | Данные не обязательны и могут быть null. Цель обязательна и не может быть null. Записыватель запишет раздел данных непосредственно после целевого значения, заключив его в соответствующий синтаксис XML 1.0 |
| COMMENT | None | String comment | Если комментарий присутствует (не null), он записывается; в противном случае записывается пустой комментарий |
| START_DOCUMENT | None | String encoding , boolean standalone, String version | Событие START_DOCUMENT не обязательно записывать в поток. Если оно присутствует, атрибуты записываются внутри соответствующего синтаксиса XML-декларации. |
| END_DOCUMENT | None | None | Ничего не записывается в вывод |
| DTD | String DocumentTypeDefinition | None | 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://download.java.net/java/early_access/jdk24/docs/api/java.xml/javax/xml/stream/XMLEventWriter.html