Интерфейс 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. Если этот метод вызван до записи START_ELEMENT, URI привязывается в корневом контексте. |
void |
setNamespaceContext |
Устанавливает текущий контекст пространства имен для привязки префиксов и URI. Этот контекст становится корневым контекстом пространства имен для записи и заменит текущий корневой контекст пространства имен. Последующие вызовы setPrefix и setDefaultNamespace будут привязывать пространства имен, используя контекст, переданный в метод, как корневой контекст для разрешения пространств имен. |
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 | Нет | Записывается корректный тег 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 | Нет | Записывается объявление пространства имён. Если пространство имён является пространством имён по умолчанию (isDefault равно true), то записывается xmlns="$namespaceURI", и префикс является необязательным. Если isDefault равно false, префикс должен быть объявлен, и писатель должен добавить xmlns к префиксу и записать стандартное объявление префикса. |
| PROCESSING_INSTRUCTION | Нет | String target, String data | Данные не обязательны и могут быть null. Target требуется и не может быть 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, 2021, 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/17/docs/api/java.xml/javax/xml/stream/XMLEventWriter.html