Интерфейс 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. Каждый атрибут (если есть) записывается с использованием поведения, указанного в разделе атрибутов данной таблицы. Каждый namespace (если есть) записывается с использованием поведения, указанного в разделе namespace этой таблицы. |
| 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. Target обязателен и не может быть null. Писатель запишет раздел данных непосредственно после раздела target, используя соответствующий синтаксис 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, 2023, 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/21/docs/api/java.xml/javax/xml/stream/XMLEventWriter.html